SaaS多租户模式数据存储方案比较

简介:
+关注继续查看

云计算多租户几乎用于所有软件即服务 (Software as a Service, SaaS) 应用程序,因为计算资源是可伸缩的,而且这些资源的分配由实际使用决定。话虽如此,用户可以通过 Internet 访问多种类型的 SaaS 应用程序,从小的基于 Internet 的小部件到大型企业软件应用程序。根据存储在企业网络之外的软件供应商的基础架构上的数据不同,安全需求也在不断增长。应用程序需要多租户是有许多原因的,其中最明显的原因就是成本:在大多数情况下,为每个客户增加几个服务器和一个数据库是远远不够的,尽管在安全要求很高的情况下这么做有点用处。

多租户就是说多个租户共用一个实例,租户的数据既有隔离又有共享,说到底就是如何解决数据存储的问题。

现在SaaS Multi-Tenant在数据存储上存在两大类共三种主要的方案,分别是:独立数据库和共享数据库,其中共享数据库又可分为共享数据库,隔离数据架构和共享数据库,共享数据架构。下面就分别对这三种方案进行介绍:

独立数据库:

SaaS多租户模式数据存储方案

这是第一种方案,即一个Tenant一个Database,这种方案的用户数据隔离级别最高,安全性最好,但成本也高。

优点:

为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复数据比较简单。

缺点:

增大了数据库的安装数量,随之带来维护成本和购置成本的增加。

这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。

共享数据库,隔离数据架构

SaaS多租户模式数据存储方案

这是第二种方案,即多个或所有租户共享Database,但一个Tenant一个Schema

优点:

为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可以支持更多的租户数量。

缺点:

如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;如果需要跨租户统计数据,存在一定困难。

共享数据库,共享数据架构

SaaS多租户模式数据存储方案

这是第三种方案,即租户共享同一个Database、同一个Schema,但在表中通过TenantID区分租户的数据。这是共享程度最高、隔离级别最低的模式。

优点:

三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。

缺点:

隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;数据备份和恢复最困难,需要逐表逐条备份和还原。

如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。

总结

三种方案好比学生分宿舍,隔离数据库就好比10名学生一人一个宿舍,每个人拿着自己宿舍的钥匙,一般贵族学校才有的待遇,学生都得是土豪;共享数据库,隔离数据架构就好比10名学生一个宿舍,没人一把宿舍钥匙,一般家庭的学生都能住;共享数据库,共享数据架构就是家里条件比较差的学生,10个人一个宿舍,连宿舍钥匙都配不起,大家只有一把钥匙。

简单的举个例子,这三种方案各有优缺点,根据实际情况选择合适的方案。以上内容是本人通过网上大牛的分享以及和小伙伴的交流加上自己的理解,有不足之处,请大家批评指正。


本文作者:邵鸿鑫

来源:51CTO

相关文章
|
3月前
|
存储 SQL 数据库
典型场景 | PolarDB-X 如何支撑SaaS多租户
很多平台类应用或系统(如电商CRM平台、仓库订单平台等等),它们的服务模型是围绕用户维度(这里的用户维度可以是一个卖家或品牌,可以是一个仓库,等等)展开的。因此,这类型的平台业务,为了支持业务系统的水平扩展性,业务的数据库通常是按用户维度进行水平切分。
|
3月前
|
存储 SQL 关系型数据库
|
4月前
|
存储
存储应该具备以下技术能力
存储应该具备以下技术能力
30 1
|
5月前
|
SQL 存储 SpringCloudAlibaba
浅析SaaS多租户系统数据隔离实现方案
多租户问题,其是一种架构设计方式,就是在一台或者一组服务器上运行的SaaS系统,可以为多个租户(客户)提供服务,目的是为了让多个租户在互联网环境下使用同一套程序,且保证租户间的数据隔离。从这种架构设计的模式上,不难看出来,多租户架构的重点就是同一套程序下多个租户数据的隔离。由于租户数据是集中存储的,所以要实现数据的安全性,就是看能否实现对租户数据的隔离,防止租户数据不经意或被他人恶意地获取和篡改
560 0
|
存储 运维 监控
SaaS厂商数据库设计(1)-多租户设计
介绍SaaS厂商在数据库设计中使用多租户,以及相应的部署模式
1184 2
SaaS厂商数据库设计(1)-多租户设计
|
SQL 运维 监控
云平台-多租户技术设计
云平台-多租户技术设计
2113 0
云平台-多租户技术设计
|
存储 缓存 运维
云上应用系统数据存储架构演进
前言回顾过去二十年的技术发展,整个应用形态和技术架构发生了很大的升级换代,而任何技术的发展都与几个重要的变量相关。一,应用形态的变迁,产生更多的场景和需求。整个应用形态从企业应用、互联网服务再到移动应用,历经了几个不同阶段的发展。从最早企业内应用系统,到通过移动互联网技术覆盖到每个人生活的方方面面,这个过程中产生了大量的场景和需求。而新的场景和需求,是推动产品和技术发展的主要因素。二,更复杂的场景
780 0
云上应用系统数据存储架构演进
|
存储 机器学习/深度学习 分布式计算
持续定义Saas模式云数据仓库+实时搜索
本文由阿里云计算平台事业部 MaxCompute 产品经理孟硕为大家带来《持续定义Saas模式云数据仓库+实时搜索》的相关分享。以下是视频内容精华整理,主要包括以下三个部分:1.Why:概述与价值;2.What:应用场景;3.How:最佳实践。
20157 0
持续定义Saas模式云数据仓库+实时搜索
|
存储 分布式计算 安全
SaaS模式云数据仓库MaxCompute发布企业级新能力:兼顾成本与性能,持续保护云上数据及服务安全
2020年6月9日,阿里云MaxCompute全新发布企业级新能力,在成本、性能、安全方面,持续定义企业级SaaS模式云数据仓库,通过 “云数据仓库+” 的新模式,帮助企业实现数字经济新优势。
604 0
SaaS模式云数据仓库MaxCompute发布企业级新能力:兼顾成本与性能,持续保护云上数据及服务安全
|
存储 机器学习/深度学习 人工智能
推荐文章
更多