多租户平台是什么?数据库如何设计?
多租户平台是什么?
多租户技术(Multi-TenancyTechnology)⼜称多重租赁技术:是⼀种软件架构技术,是实现如何在多⽤户环境下(此处的多⽤户⼀般是⾯向企业⽤户)共⽤相同的系统或程序组件,并且可确保各⽤户间数据的隔离性
简单讲:在⼀台服务器上运⾏单个应⽤实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是⼀种架构,⽬的是为了让多⽤户环境下使⽤同⼀套程序,且保证⽤户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同⼀套程序下实现多⽤户数据的隔离
我们来分析⼀下传统软件⾏业和多租户的区别
传统⾏业:
⽐如我们⼤⼒公司需要⼀个CRM客户关系管理系统,那么我们就去外包,外包做好后来到我们公司部署到我们公司的内⽹上,这种呢就是传统的软件⾏业。因为是将软件部署到公司内部,不同的公司需要将⾃⼰的软件都部署到公司的内部,这样对于开发⽅来说,维护困难,对于使⽤⽅来说,成本也变⾼了。center用英语怎么读
多租户:
⽐如我们现在开发了⼀套多租户的CRM系统,然后⼤⼒公司刚好需要⼀套CRM系统,那么它就可以在我们平台上租⽤这⼀套系统,然后只需要定时缴纳固定费⽤后,就可以直接使⽤该系统,⽽不需要去考虑维护、服务器等问题。注意:多个租户之间的数据是相互隔离不相通的。
⼀图胜千⾔:
图片滚动的代码怎么写数据库如何设计?
这种模式看着感觉很科学,但是你可能也会想到,这种模式的数据库设计应该是个⼤⿇烦,对不错,这种模式的数据库确实是个⼤问题。
现在基于多租户的数据库设计⽅案通常有三种:
1、独⽴数据库
2、共享数据库,独⽴Schema
3、共享数据库、共享表
独⽴数据库
这是最吊的,⼀个租户⼀个实际的数据库系统
onlinedictionary优点:对于业务⽅⾯来说更加简单,可以满⾜不同租户的奇葩需求,数据也很安全,与其他租户的数据隔离性很⾼。
mysql是什么系统>js 两个数组合并缺点:增加数据库成本、硬件成本、统计数据困难、扩展⽐较⿇烦。
共享数据库、独⽴Schema
Schema这个⽐较特殊,
⽐如Oracle:
⼀个数据库可以有多个⽤户,那么⼀般⼀个⽤户对应⼀个Schema,那么我们就可以⼀个租户代表⼀个数据库的⽤户,那么他们的数据也就隔离开了。
⽐如MySQL:
可以理解为⼀个单独的数据库,多个租户多个数据库(⼀个数据库系统可以有多个数据库)。
优点:数据隔离性较⾼。
缺点:出现故障后数据恢复很困难、统计数据也很困难等。
共享数据库、共享表
也就是所有租户共享⼀个数据库,然后可以通过id等字段来区分不同租户的数据。
优点:成本低
缺点:增加业务复杂度、隔离级别低、故障后数据恢复基本gg。
三种⽅式的对⽐
c语言指针指向字符串
来⾃⿊马的⼀张图⼀图胜千⾔:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。