saas数据库模式
2019-10-25 10:40:39 129 举报
AI智能生成
saas数据库模式选择
作者其他创作
大纲/内容
选择哪种方模式
成本因素
基于数据共享设计的SaaS系统要求较高的开发成本(因为基于数据共享的系统架构相对比较复杂),因此初始投入较大,到长期来看运营维护成本则相对较少。
而基于数据隔离设计的SaaS系统则由于所需要硬件会随着支持客户数的上升而快速上升,因此相对初始投入尚可,但长期来看会有一个比较高的运营维护成本。
总体而言,选择数据共享的方式从长远角度可以为SaaS服务供应商节省大量的金钱。但远在其最终开始盈利之前,该类系统在开发中就已经需要大量的初期投入。如果无法投入所需的开发资源,或者由于商业原因需要将所开发的SaaS系统尽可能快的投放到市场,则选择数据隔离的设计模式更为恰当
而基于数据隔离设计的SaaS系统则由于所需要硬件会随着支持客户数的上升而快速上升,因此相对初始投入尚可,但长期来看会有一个比较高的运营维护成本。
总体而言,选择数据共享的方式从长远角度可以为SaaS服务供应商节省大量的金钱。但远在其最终开始盈利之前,该类系统在开发中就已经需要大量的初期投入。如果无法投入所需的开发资源,或者由于商业原因需要将所开发的SaaS系统尽可能快的投放到市场,则选择数据隔离的设计模式更为恰当
安全因素
通常在SaaS系统中会存放有很多敏感的客户业务数据,因此客户会对确保数据的安全性有很高的期望,SaaS服务供应商与客户签署的服务条款中会需要包含很多数据安全保障条款。当然,一般客户常见误解是只有采取数据隔离方式设计的SaaS系统才能完全确保数据的安全性;事实上,采取数据共享方式设计的SaaS系统一样可以在使用了一些成熟的设计模式之后,为客户提供很强的数据安全保障。
客户因素
客户因素
客户因素
一个SaaS系统将来所服务的潜在客户的数量、商业背景乃至其业务需求都将在很大程度上影响数据模型的选择,下面就是一些常见的可能会影响到决定的一些因素
•估算该SaaS系统所期待的潜在客户数。到底是为数以百计的客户设计这一系统还是数以千计,又或者更多数量。简单的说,如果计划支持的客户数目越大,就应当越多地考虑使用数据共享的模式
•估算每个客户平均使用的数据存储空间。如果使用该SaaS系统的客户可能会存储海量数据,则独立数据库模式毫无疑问是最佳选择
•估算每个客户平均所需要支持的终端用户数。如果这个数字越大,则越应当考虑采用数据隔离的模式来满足终端用户的需求
•决定是否为每个客户提供类似于数据备份之类的增值服务。一般而言,采用数据隔离的模式比较便于实现这类服务
•估算该SaaS系统所期待的潜在客户数。到底是为数以百计的客户设计这一系统还是数以千计,又或者更多数量。简单的说,如果计划支持的客户数目越大,就应当越多地考虑使用数据共享的模式
•估算每个客户平均使用的数据存储空间。如果使用该SaaS系统的客户可能会存储海量数据,则独立数据库模式毫无疑问是最佳选择
•估算每个客户平均所需要支持的终端用户数。如果这个数字越大,则越应当考虑采用数据隔离的模式来满足终端用户的需求
•决定是否为每个客户提供类似于数据备份之类的增值服务。一般而言,采用数据隔离的模式比较便于实现这类服务
法律因素
公司、组织和政府机关经常需要遵守特定的法律法规的要求从而影响其选择使用哪一类的SaaS系统,而这种影响一般体现在对数据安全性的关注上。因此在设计一个SaaS系统之初,就必须对可能会影响潜在客户的法律法规做一定的调研,尤其是开发企业管理软件时,由于诸如财务、雇员管理、生产等诸多模块都会受特定地域或行业法律法规的影响,因此这些因素必须在系统设计之初就纳入考虑范围
技能因素
对SaaS系统开发商而言,设计一个单实例多用户支持的系统架构仍然是一个很大的挑战,要想熟悉对应的开发工具,掌握相应的开发环境,也需要一支具有相当技术实力的开发团队。相对来说,选择数据隔离的模式来开发SaaS系统允许开发人员更多的从以往的开发传统架构的软件的经验中受益,对于技术力量不强的开发商而言不失为一个明智的选择
参考来源:https://blog.csdn.net/dzta831121/article/details/42462301
独立数据库实例
优点:不同客户的数据物理分离,安全性比较好
易维护,易备份,易定制化
易维护,易备份,易定制化
缺点:数据库连接的利用效率不高。Performance 问题会很大
部署和维护成本高,如果客户愿意为此支付费用也可以考虑
部署和维护成本高,如果客户愿意为此支付费用也可以考虑
其它:当客户由于所处行业因素或其它商业因素的限制,愿意支付额外的费用来做到数据隔离,确保数据安全,这种独立数据库的数据模型将是最为适合的解决方案。举例来说,处于银行业或医疗行业的客户们经常会有非常强的隔离数据的需求,这些客户甚至可能根本不会考虑去使用任何不提供客户独立数据库支持的SaaS系统
共享数据库实例,独享schema
优点:共享数据源或连接池,效率更高
物理上实现一定程度的数据隔离,提高数据安全性
物理上实现一定程度的数据隔离,提高数据安全性
缺点:数据库连接池开销会比较大
其它:这种客户独立模式的方式比较适合应用在每个客户拥有比较少的表数量的情况下,比如每个客户只有100张表或更少。这种方式毫无疑问可以在每台服务器上支持比独立数据库方式更多的客户数量,减低了服务供应商的运营成本。因此一旦SaaS系统的潜在客户们不介意其数据与其它客户的数据物理上存放在同一数据库内,这将是SaaS系统开发商一种理想的选择。
共享数据库实例,共享schema
优点:数据源和数据库的管理都比较简单。和原来的应用没有差别
缺点:数据权限比较复杂,增加程序的复杂性。如果应用比较复杂,很多数据表都需
要加入客户标志字段,很多查询都需要包括该字段,会比较麻烦。如果有遗漏,、
特别是查询条件中遗漏该字段,就会造成一个客户看到另一个客户的数据
要加入客户标志字段,很多查询都需要包括该字段,会比较麻烦。如果有遗漏,、
特别是查询条件中遗漏该字段,就会造成一个客户看到另一个客户的数据
其它:如果SaaS服务供应商需要使用尽量少的服务器资源来服务尽可能多的客户,而且潜在客户们愿意在一定程度上放弃对数据隔离的需求来获得尽可能低廉的服务价格,则这种共享模式的方式是非常适合的。
0 条评论
下一页