多租户(数据层的多租户)架构相关资料

多租户(Multi Tenancy/Tenant)是一种软件架构,其定义是:

在一台服务器上运行单个应用实例,它为多个租户提供服务。

在SaaS实施过程中,有一个显著的考量点,就是如何对应用数据进行设计,以支持多租户,而这种设计的思路,是要在数据的共享、安全隔离和性能间取得平衡。

主流的方案是:

  1. 独立数据库
  2. 共享数据库、独立 Schema
  3. 共享数据库、共享 Schema、共享数据表


比较简单的做法是,分客户,在业务层使用tenantid来区分客户。


详情参考:http://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/

文中提到的第二种模式,共享database,scheme分离,就是一种多租户的解决方案:所有的租户共享一个数据库实例,但是他们拥有独立的 Schema 或 Catalog,使用hibernate.multiTenancy 相关属性,指定了 ConnectionProvider,即 Hibernate 需要知道如何以租户特有的方式获取数据连接,根据 tenantIdentifier 获得相应的连接。

如此,客户的DBA,也可以自行通过租户ID来进行数据库的管理,他只能管理属于这个租户的数据。其他租户数据,逻辑不可见

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值