如何更改网站的关键词,乐清开发网站公司,校园超市网站开发,绵阳网站建设怎么选本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。
多租户技术#xff08;英语#xff1a;multi-tenancy technology#xff09;或称多重租赁技术#xff0c;是一种软件架构技术#xff0c;它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件英语multi-tenancy technology或称多重租赁技术是一种软件架构技术它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件并且仍可确保各用户间数据的隔离性。
多租户简单来说是指一个单独的实例可以为多个组织服务。多租户技术为共用的数据中心内如何以单一系统架构与服务提供多数客户端相同甚至可定制化的服务并且仍然可以保障客户的数据隔离。一个支持多租户技术的系统需要在设计上对它的数据和配置进行虚拟分区从而使系统的每个租户或称组织都能够使用一个单独的系统实例并且每个租户都可以根据自己的需求对租用的系统实例进行个性化配置。
多租户技术可以实现多个租户之间共享系统实例同时又可以实现租户的系统实例的个性化定制。通过使用多租户技术可以保证系统共性的部分被共享个性的部分被单独隔离。通过在多个租户之间的资源复用运营管理维护资源有效节省开发应用的成本。而且在租户之间共享应用程序的单个实例可以实现当应用程序升级时所有租户可以同时升级。同时因为多个租户共享一份系统的核心代码因此当系统升级时只需要升级相同的核心代码即可。
中文名
多租户技术
外文名
multi-tenancy technology
或 称
多重租赁技术
属 性
软件架构技术
目 的
共用相同的系统或程序组件
要 求
确保各用户间数据的隔离性
目录
1 历史2 概念与技术3 实现方式4 特色5 实务应用历史
编辑
多租户技术源于1960年代许多公司为了要使用更多的运算资源向持有大型主机Mainframe的供应商租用一部份的运算资源而这些用户经常会用到相同的应用程序当时会以用户在登录系统时输入的数据来决定用户的帐户ID基于这个IDMainframe的供应商即可利用此ID来计算运算的资源使用量包含CPU存储器与软盘或磁带等这个作法也被SAP公司用在其R/1到R/3的产品线。
到了1990年代应用程序服务提供者服务application service provider模式出现它的作法与运作模式与租用大型主机时相同不过租用的资源是在软件上除了操作系统以外也包含了其上的应用程序例如ERP系统或是CRM等应用系统可能会运行在数台不同的机器上或是在相同的主机但共享不同的数据库以区分并计算客户的资源使用量藉以作为计费的标准而此技术也有效的缩减供应商的实体机器成本因为可以在一台电脑上同时运行多个用户所租用的应用程序进程)。到了现代受欢迎的消费者导向Web应用程序如Hotmail或Gmail等也是以单一应用程序平台来支持所有的用户这已经是多租户技术的自然演化的结果多租户技术也可以让客户中的一部份用户得以进一步定制化他们的应用程序。
在虚拟化virtualization技术的成熟与应用性的扩张之下多租户技术可以驾驭虚拟化的平台更强化在用户应用程序与数据之间的隔离让多租户技术能更加发挥它的特色。 [1] 概念与技术
编辑
在多租户技术中租户tenant是指使用系统或电脑运算资源的客户但在多租户技术中租户包含在系统中可识别为指定用户的一切数据包括帐户与统计信息accounting data、用户在系统中建置的各式数据、以及用户本身的定制化应用程序环境等都属于租户的范围。租户使用供应商开发或建置的应用系统或运算资源供应商所设计的应用系统会容纳数个以上的用户在同一个环境下使用为了让多个用户环境能够在同一个应用程序与运算环境上使用则应用程序与运算环境必须要特别设计除了可以让系统平台允许多份相同的应用程序同时运行外保护租户数据的隐私与安全也是多租户技术的关键之一。
技术上多租户技术可以通过许多不同的方式来切割用户的应用程序环境或数据。
数据面data approach供应商可以利用切割数据库database切割存储区storage切割结构描述schema或是表格table来隔离租户的数据必要时会需要进行对称或非对称加密以保护敏感数据但不同的隔离作法有不同的实现复杂度与风险。
程序面application approach供应商可以利用应用程序挂载hosting环境于进程process上切割不同租户的应用程序运行环境在无法跨越进程通信的情况下保护各租户的应用程序运行环境但供应商的运算环境要够强。
系统面system approach供应商可以利用虚拟化技术将实体运算单元切割成不同的虚拟机各租户可以使用其中一至数台的虚拟机来作为应用程序与数据的保存环境但对供应商的运算能力要更要求。 [2] 实现方式
编辑
多租户技术的实现重点在于不同租户间应用程序环境的隔离application context isolation以及数据的隔离data isolation)以维持不同租户间应用程序不会相互干扰同时数据的保密性也够强。
应用程序部份通过进程或是支持多应用程序同时运行的装载环境例如Web Server像是Apache或IIS等来做进程间的隔离或是在同一个伺服程序server进程内以运行绪的方式隔离。
数据部份通过不同的机制将不同租户的数据隔离Force是采用中介数据metadata的技术来切割微软 MSDN 的技术文件则是展示了使用结构描述的方式隔离。
实现方式
多租户就是说多个租户共用一个实例租户的数据既有隔离又有共享,从而解决数据存储的问题。从架构层面来分析SaaS区别于传统技术的重要差别就是Multi-Tenant模式。SaaS多租户在数据存储上存在三种主要的方案分别是
1.独立数据库
这是第一种方案即一个租户一个数据库这种方案的用户数据隔离级别最高安全性最好但成本也高。
优点
为不同的租户提供独立的数据库有助于简化数据模型的扩展设计满足不同租户的独特需求
如果出现故障恢复数据比较简单。
缺点
增大了数据库的安装数量随之带来维护成本和购置成本的增加。
这种方案与传统的一个客户、一套数据、一套部署类似差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户可以选择这种模式提高租用的定价。如果定价较低产品走低价路线这种方案一般对运营商来说是无法承受的。
2.共享数据库隔离数据架构
这是第二种方案即多个或所有租户共享Database但一个Tenant一个Schema。
优点
为安全性要求较高的租户提供了一定程度的逻辑数据隔离并不是完全隔离每个数据库可以支持更多的租户数量。
缺点 如果出现故障数据恢复比较困难因为恢复数据库将牵扯到其他租户的数据 如果需要跨租户统计数据存在一定困难。
3.共享数据库共享数据架构
这是第三种方案即租户共享同一个Database、同一个Schema但在表中通过TenantID区分租户的数据。这是共享程度最高、隔离级别最低的模式。
优点
三种方案比较第三种方案的维护和购置成本最低允许每个数据库支持的租户数量最多。
缺点
隔离级别最低安全性最低需要在设计开发时加大对安全的开发量 数据备份和恢复最困难需要逐表逐条备份和还原。 如果希望以最少的服务器为最多的租户提供服务并且租户接受以牺牲隔离级别换取降低成本这种方案最适合。 特色
编辑
多租户技术有下列特色
由于多租户技术可以让多个租户共用一个应用程序或运算环境且租户大多不会使用太多运算资源的情况下对供应商来说多租户技术可以有效的降低环境建置的成本。包含硬件本身的成本操作系统与相关软件的授权成本都可以因为多租户技术而由多个租户一起分担。
通过不同的数据管理手段多租户技术的数据可以用不同的方式进行数据隔离在供应商的架构设计下数据的隔离方式也会不同而良好的数据隔离法可以降低供应商的维护成本包含设备与人力)而供应商可以在合理的授权范围内取用这些数据分析以作为改善服务的依据。
多租户架构下所有用户都共用相同的软件环境因此在软件改版时可以只发布一次就能在所有租户的环境上生效。
具多租户架构的应用软件虽可定制但定制难度较高通常需要平台层的支持与工具的支持才可降低定制的复杂度。 实务应用
编辑
多租户技术在实务上运用的成功且广为人知的案例之一是由Salesforce所建置的CRM应用系统该公司除了Salesforce的CRM软件以外它还建置了Force平台即服务PaaS架构以支持开发人员发展基于Force平台上的应用程序。
在云计算的加持之下多租户技术被广为运用于开发云各式服务不论是IaaSPaaS还是SaaS都可以看到多租户技术的影子。 云计算 Iaas,Paas,Saas三者的区别联系是什么
应用 ▪ SAP OnDemand Solutions▪ Google Apps▪ Microsoft Online▪ NetSuite▪ SalesForce
平台 ▪ App Engine▪ Windows Azure▪ Engine Yard▪ Force.com▪ Heroku▪ MTurk▪ RightScale▪ Amazon S3▪ SimpleDB▪ SQS
基础设施 ▪ EC2▪ Eucalyptus▪ FlexiScale▪ GoGrid▪ Nimbus▪ OpenStack▪ Rackspace Cloud▪ VPC
类型 ▪ SaaS▪ PaaS▪ IaaS▪ CaaS
技术 ▪ 网络▪ 数据中心▪ 分散式档案系统▪ 硬件虚拟化▪ Web服务▪ 虚拟设备▪ 多租户技术
标准 ▪ Ajax▪ Atom▪ HTML5▪ REST▪ XMPP▪ BitTorrent
参考资料
1. 高蕾, 杨燕, 钟华,等. 面向多租户的门户资源管理框架[J]. 计算机工程与设计, 2012, 33(8):3016-3022.2. 朱久亮, 夏静伟. 多租户技术在企业销售管理系统中的设计与应用[J]. 中国电子商务, 2012(3):76-77.
学术论文
内容来自 李森. 浅析基于SaaS架构的多租户技术 《 电子设计工程 》 2013 庄日道. 基于云服务系统的资源多租户技术的实现 《 CNKI;WanFang 》 年 琚洁慧吴吉义章剑林等. SaaS应用中的多租户与安全技术研究 《 CNKI 》 年 侯可佳白晓颖周立柱. 一种基于多约束组合的多租户系统配置测试技术 《 计算机学报 》 2016 李引袁峰吴鸿. 基于软件构件技术的多租户个性化框架 《 计算机工程与应用唯一官方网站 》 2015
查看全部