模板网站的建设方式与方法广州广告网站建设
news/
2025/10/7 5:10:55/
文章来源:
模板网站的建设方式与方法,广州广告网站建设,百度发作品入口在哪里,电子商务是干什么的专业一、 多租户定义
多租户定义#xff1a; 多租户技术或称多重租赁技术#xff0c;简称SaaS#xff0c;是一种软件架构技术#xff0c;是实现如何在多用户环境下#xff08;此处的多用户一般是面向企业用户#xff09;共用相同的系统或程序组件#xff0c;并且可确保各用…一、 多租户定义
多租户定义 多租户技术或称多重租赁技术简称SaaS是一种软件架构技术是实现如何在多用户环境下此处的多用户一般是面向企业用户共用相同的系统或程序组件并且可确保各用户间数据的隔离性。简单讲在一台服务器上运行单个应用实例它为多个租户客户提供服务。 从定义中我们可以理解多租户是一种架构目的是为了让多用户环境下使用同一套程序且保证用户间数据隔离。那么重点就很浅显易懂了多租户的重点就是同一套程序下实现多用户数据的隔离。对于实现方式我们下面会讨论到。
在了解详细一点 在一个多租户的结构下应用都是运行在同样的或者是一组服务器下这种结构被称为“单实例”架构Single Instance单实例多租户。多个租户的数据是保存在相同位置依靠对数据库分区来实现隔离操作。既然用户都在运行相同的应用实例服务运行在服务供应商的服务器上用户无法去进行定制化的操作所以这对于对该产品有特殊需要定制化的客户就无法适用所以多租户适合通用类需求的客户。那么缺点来了多租户下无法实现用户的定制化操作。
在翻阅多租户的资料时还有一个名词与之相对应那就是单租户SaaS架构也被称作多实例架构Multiple Instance。单租户架构与多租户的区别在于单租户是为每个客户单独创建各自的软件应用和支撑环境。单租户SaaS被广泛引用在客户需要支持定制化的应用场合而这种定制或者是因为地域抑或是他们需要更高的安全控制。通过单租户的模式每个客户都有一份分别放在独立的服务器上的数据库和操作系统或者使用强的安全措施进行隔离的虚拟网络环境中。因为本篇主要是讨论多租户所以单租户的相关知识就简单了解一下不做过多的阐述了。
二、 多租户数据隔离的三种方案
在当下云计算时代多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务并且仍可以保障客户的数据隔离。目前各种各样的云计算服务就是这类技术范畴例如阿里云数据库服务RDS、阿里云服务器等等。 多租户在数据存储上存在三种主要的方案分别是
2.1 独立数据库
这是第一种方案即一个租户一个数据库这种方案的用户数据隔离级别最高安全性最好但成本较高。 优点 为不同的租户提供独立的数据库有助于简化数据模型的扩展设计满足不同租户的独特需求如果出现故障恢复数据比较简单。 缺点 增多了数据库的安装数量随之带来维护成本和购置成本的增加。
这种方案与传统的一个客户、一套数据、一套部署类似差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户可以选择这种模式提高租用的定价。如果定价较低产品走低价路线这种方案一般对运营商来说是无法承受的。
2.2 共享数据库独立Schema
这是第二种方案即多个或所有租户共享Database但是每个租户一个Schema也可叫做一个user。底层库比如是DB2、ORACLE等一个数据库下可以有多个SCHEMA 优点 为安全性要求较高的租户提供了一定程度的逻辑数据隔离并不是完全隔离每个数据库可支持更多的租户数量。 缺点 如果出现故障数据恢复比较困难因为恢复数据库将牵涉到其他租户的数据 如果需要跨租户统计数据存在一定困难。
2.3 共享数据库共享 Schema共享数据表
这是第三种方案即租户共享同一个Database、同一个Schema但在表中增加TenantID多租户的数据字段。这是共享程度最高、隔离级别最低的模式。 即每插入一条数据时都需要有一个客户的标识。这样才能在同一张表中区分出不同客户的数据。 优点 三种方案比较第三种方案的维护和购置成本最低允许每个数据库支持的租户数量最多。 缺点 隔离级别最低安全性最低需要在设计开发时加大对安全的开发量 数据备份和恢复最困难需要逐表逐条备份和还原。如果希望以最少的服务器为最多的租户提供服务并且租户接受牺牲隔离级别换取降低成本这种方案最适合。
在SaaS实施过程中有一个显著的考量点就是如何对应用数据进行设计以支持多租户而这种设计的思路是要在数据的共享、安全隔离和性能间取得平衡。
三、选择合理的实现模式
衡量三种模式主要考虑的因素是隔离还是共享。 成本角度因素 隔离性越好设计和实现的难度和成本越高初始成本越高。共享性越好同一运营成本下支持的用户越多运营成本越低。 安全因素 要考虑业务和客户的安全方面的要求。安全性要求越高越要倾向于隔离。 从租户数量上考虑 主要考虑下面一些因素系统要支持多少租户上百上千还是上万可能的租户越多越倾向于共享。平均每个租户要存储数据需要的空间大小。存贮的数据越多越倾向于隔离。每个租户的同时访问系统的最终用户数量。需要支持的越多越倾向于隔离。是否想针对每一租户提供附加的服务例如数据的备份和恢复等。这方面的需求越多 越倾向于隔离。 技术储备 共享性越高对技术的要求越高。
四、 团队开发框架实战—多租户支持
多租户技术的实现重点在于不同租户间应用程序环境的隔离application context isolation以及数据的隔离data isolation)以维持不同租户间应用程序不会相互干扰同时数据的保密性也够强。 多租户数据库构架方式主要分为独立数据库私有表、共享数据库隔离数据框架扩展表、共享数据库共享数据框架通用表。 以上架构模式中数据隔离程度相对较差数据共享程度越高越能够支持较多的租户同时设备成本越低但同时数据维护难度越大。如敏感数据较多则选择共享数据库隔离数据框架否则可选择共享数据库共享数据框架的方式进行数据存储构架。 本项目系统可能出现数量较多的租户同时设备有限所以选取共享数据库共享数据框架通用表的数据存储结构。
数据表结构采用名称值对的方式进行设计将扩展数据的保存和原数据表分离另外用一个统一的扩展数据表来保存。扩展数据表将数据表的横向扩展列转换为纵向的数据集将每一条原始数据记录的一个扩展字段都保存成一条扩展数据行。将数据表中的数据记录与配置元数据表中的配置记录关联构成扩展数据记录。可以提供无限数量的自定义扩展字段。但是其增加数据操作的复杂性查询时也要多次访问数据库才能得到完整的业务数据。
多通用表与键值对的数据存储架构存储工作过程上层应用通过标准多租户数据定义、存储API 进行交互通过标准的API 接口将多租户数据存储到数据空中也可以通过查询的方式来从统一存储的数据库中还原租户的数据。
五、总结
所谓的多租户就是指在一台机器上运行单个应用实例为多个不同的客户服务同时要保证不同用户环境的数据隔离。多租户应用运行在同一组服务器下称为单实例多租户多租户通过数据库分片实现数据隔离。多租户数据隔离主要有独立数据库实际上是独立数据库机器、共享数据库独立Schema、共享数据库共享Schema。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929976.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!