首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >推荐采用哪种多租户方法?

推荐采用哪种多租户方法?
EN

Stack Overflow用户
提问于 2015-10-06 04:52:44
回答 4查看 478关注 0票数 1

根据多租户数据架构文章,有三种实现多租户的方法。

  1. 单独数据库
  2. 共享数据库,单独的架构
  3. 共享数据库,共享模式

我有以下细节:

  1. 用户应该能够备份和恢复他们的数据。
  2. 住户编号:3(约)
  3. 每个租户可能属于不同的域(Url)。
  4. 所有的房客都有一些通用的桌子。
  5. 每个租户的表号: 10 (首字母)

我想知道哪种方法更适合我?

EN

回答 4

Stack Overflow用户

发布于 2015-10-06 05:54:30

我认为选项2是最好的,但您仍然存在需求1的问题。备份和还原在每个模式中都不可用。您需要使用Import或任何自定义工具来处理这个问题。公共表将有单独的架构。

在选项1中,您需要处理需求4,公共表将在所有数据库之间进行复制。

票数 0
EN

Stack Overflow用户

发布于 2015-10-06 06:14:11

在所有5个条件中,最重要的条件是条件4--这意味着有些表在所有租户中都是常见的。如果某些表是通用的,则排除了单独的数据库(即选项1)。

您可以继续使用选项2、共享数据库和单独的模式,但是租户的数量要少得多(在您的例子中是3)。在这种情况下,添加维护单独模式的开销是一种应该避免的开销。因此,我们也可以跳过选项2,直到我们评估选项3。

选项3-共享模式的共享数据库将是您最有效的选择。它避免了维护单独模式的开销,并允许租户之间使用公共表。在共享模式中,通常跨表使用租户标识符。Hibernate已经对此类租户标识符提供了支持(以防您使用Java-J2EE实现)。唯一的问题可能是性能,因为将所有三个租户的数据放在同一个表中将导致数据库访问\搜索性能降低,您将不得不进行反规范化和索引。

我建议继续使用选项3.

票数 0
EN

Stack Overflow用户

发布于 2015-10-06 15:00:35

对我们来说,我们已经开发了一个人力资源资源计划( ERP ),它被40多个客户和一千多个用户所使用,用于多租户的方法是第三个。

此外,所使用的技术分离表之一是遗传。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32961979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档