当前位置:网站首页>多租户技术
多租户技术
2022-08-10 09:39:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
多租户技术或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。在云计算时代,多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离。目前各种各样的云计算服务就是这类技术范畴,例如阿里云数据库服务(RDS)、阿里云服务器等等。
多租户在数据存储上存在三种主要的方案,分别是:独立数据库 这是第一种方案,即一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本也高。 优点: 为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求; 如果出现故障,恢复数据比较简单。 缺点: 增大了数据库的安装数量,随之带来维护成本和购置成本的增加。 这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。 共享数据库,隔离数据架构 这是第二种方案,即多个或所有租户共享 Database,但是每个租户一个 Schema。 优点: 为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可以支持更多的租户数量。 缺点: 如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据; 如果需要跨租户统计数据,存在一定困难。 共享数据库,共享数据架构 这是第三种方案,即租户共享同一个 Database、同一个 Schema,但在表中通过 TenantID 区分租户的数 据。这是共享程度最高、隔离级别最低的模式。 优点: 三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。 缺点: 隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量; 数据备份和恢复最困难,需要逐表逐条备份和还原。 如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105688.html原文链接:https://javaforall.cn
边栏推荐
- LCD模块如何建立联系分析
- How to understand the difference between BIO, NIO, and AIO
- Flink部署 完整使用 (第三章)
- Fourier series and Fourier transform
- Defending risks with technology and escorting cloud native | Tongchuang Yongyi X Boyun held a joint product launch conference
- 打工人的第27天-平凡但不平淡的日子
- 【数据架构】分布式数据网格作为集中式数据单体的解决方案
- 【元宇宙欧米说】看UCOUCO如何将行为艺术融入元宇宙
- 凭借这份阿里架构师的万字面试手册,逆风翻盘,斩获阿里offer
- SQL优化总结
猜你喜欢

【元宇宙欧米说】看UCOUCO如何将行为艺术融入元宇宙

多线程浅谈

Basic concepts, structures, and classes of thread pools

「业务架构」TOGAF建模:业务功能分解图

Which is the strongest workflow engine for "Technology Selection"?Chief Architecture Helps You Pick

Tencent releases the second-generation version of the quadruped robot Max, which completes jumps and somersaults on the plum blossom pile

CAD to WPF: Tips on converting CAD drawing files to WPF vector code files (xaml files)
![How to use [jmeter regular expression extractor] to solve the problem of returning the value as a parameter](/img/bf/2367304d5bdf520e369097a49a7bb6.png)
How to use [jmeter regular expression extractor] to solve the problem of returning the value as a parameter

多元线性回归分析(Stata)

浅谈DAO+DeFi+NFT模式开发代码技术方案丨链游元宇宙NFT盲盒项目技术开发逻辑(源码程序)
随机推荐
如何理解BIO、NIO、AIO的区别
人
"Guangzhou highway engineering measures for the supervision and administration of production safety, and revised from six aspects
【软考 系统架构设计师】系统可靠性分析与设计① 系统可靠性分析
How to use [jmeter regular expression extractor] to solve the problem of returning the value as a parameter
keepalived:双主配置
浅析JWT安全问题
【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?
08 【Props 组件事件】
多线程浅谈
CatchAdmin实战教程(四)Table组件之自定义基础页面
【微服务架构】为故障设计微服务架构
Oracle rac所在的网络要割接,停掉其中一个rac节点,这种方案可行吗?
因子分析(SPSS)
【数据库架构】OLTP 和 OLAP:实际比较
初识Flink 完整使用 (第一章)
UE4 Sequence添加基础动画效果 (04-在序列中使用粒子效果)
"Microservice Architecture" Arrangement and Choreography - Different Models for Making Systems Work Together
I don't want to do accounting anymore, Die changed to a new one, moved forward bravely, and finally successfully passed the career change test to double his monthly salary~
shell iterates over folders and outputs