1、 数据库层:
数据库这一层的设计模式是很清晰的,无外乎只有3种方案:
(1) 所有客户的数据都存放在一个数据库的同一套表中, 在表中增加Company_id等标志字段,表明该记录是属于哪个客户的。
优点:数据源和数据库的管理都比较简单。和原来的应用没有差别。
缺点:数据权限比较复杂,增加程序的复杂性。如果应用比较复杂,很多数据表都需
要加入客户标志字段,很多查询都需要包括该字段,会比较麻烦。如果有遗漏,、特别是查询条件中遗漏该字段,就会造成一个客户看到另一个客户的数据。
(2) 每个客户独立一个数据库:
在应用服务器中配制不同的数据源,或者使用不同的连接池。
优点:不同客户的数据物理分离,安全性比较好。
缺点:数据库连接的利用效率不高。Performance 问题会很大
(3) 多Schema,单数据源
这个方案基本是方案2的变种。同一个数据库下可以有多个Schema
优点:除了方案2的优点以外,共享数据源或连接池,效率更高。
缺点:和方案一比较起来,数据库连接池开销会比较大
所有以上方案都是所有客户共享同一个应用(WAR或EAR)。
这里我选择方案三,并结合了方案一,对于登陆/验证/权限,所有的客户共享一个Schema,而对于业务数据,则每个客户一个Schema.
我做了200个不同的Schema,用户名和密码分别是demo1/demo1 到demo200/demo200,大家可以按照不同的用户名和密码登陆。
这台机器就是一台式机,不是专用服务器,网络也是放在我家里的小区宽带上,是通过无线路由器上的网,所以网速可能不太稳定。
后面几篇文章陆续写了实际的一些实现
分享到:
相关推荐
SAAS架构设计模式SAAS架构设计模式SAAS架构设计模式
SaaS架构设计SaaS架构设计SaaS架构设计SaaS架构设计SaaS架构设计
SaaS模式的进销存实战架构分析 SaaS模式的进销存实战架构分析
Saas平台架构设计
我做了很多年的MIS/ERP/进销存管理软件,关注SaaS模式也好几年了,所以我就做了一套基于SaaS模式的进销存软件,和大家一起探讨一下基于SaaS模式的进销存软件的技术架构,就当是抛砖引玉,无知者无畏吧。
(完整版)Saas公共服务平台架构及实现_毕业设计.pdf(完整版)Saas公共服务平台架构及实现_毕业设计.pdf(完整版)Saas公共服务平台架构及实现_毕业设计.pdf(完整版)Saas公共服务平台架构及实现_毕业设计.pdf(完整版)Saas...
与传统软件相比, 在软件即为服务( SaaS) 模式下做大数据量统计需要应对海量数据和高并发 处理问题。...表明设计的框架能处理SaaS 模式下的海量数据和高并发, 并能高效地实现统计数据的实时计算查询。
SaaS模式下多租户系统架构及关键技术研究_彭荣 很有价值的一篇论文
干货分享,强烈推荐!基于多租户的Saas架构和权限系统设计。
第五章SaaS模式下的彼饮管理系统的分析与设计............................,,,...............,,31 5.1系统分析..................................................,,/...........,,,,,,.............................
SAAS架构设计教程,包含了多个文件和视频还有源码,例如互联网时代的软件革命-SaaS架构设计、SaaS参考架构和关键技术、Saas架构设计
基于SaaS模式的应用集成平台的设计,为实现将软件资源通过网络以租赁的形式向企业客户提供服务,让租户通过网络共享软硬件资源提供了理论基础和技术路线。该平台还向PaaS模式的发展搭建了基础架构。
基于SaaS 模式的SOA 服务分析与设计
Saas产品架构,saas产品架构如何设计,saas产品架构图,saas产品架构设计
SaaS模式下电子政务系统架构分析.pdfSaaS模式下电子政务系统架构分析.pdf
分析了SaaS的架构及该模式的特点,并从产业链的角度分析了使用该模式的优势和劣势。
基于SAAS模式的多用户数据体系结构。 信任,或是缺乏充分信任,都是妨碍“软件即服务”(SaaS) 推广的首要问题。我们可以说,关于产 品、客户、雇员、供应商等的数据是商业运营中最重要的资产。当然,SaaS 的核心也是...
介绍saas模式,saas理念,saas的优点和saas模式的适用于何处。