同一数据库中的共享和每个租户表

时间:2012-09-20 15:04:09

标签: database-design multi-tenant

短版

在同一个数据库中有一些共享表和其他每个租户表是否可以?

版本更长:

我们(我和一些非stackoverflow-ers)正在设计一些多租户SAAS。

我们目前正在使用共享数据库和共享架构架构,每个表都有一个tenant_id列来区分租户'数据。 使用小型数据集,例如我们的用户' table(如果我们有1000个租户,每个有10个用户,= 10,000行),这很好用。

但是,有些表会变得非常大。例如,'文件'表。每个租户可能有一百万个文件,其元数据需要存储在数据库中。每个拥有1,000,000个文件的租户创建一个1bn行表。 我担心的是操作起来会很慢,我想要通过租户来切割文件表。

问题:

  1. 拥有一些共享表和其他每个租户是否可接受/可取 表格,例如files_<tenant_id>

    我想对可伸缩性,备份,可维护性等内容进行批评。

  2. 处理此类大数据的其他选项有哪些。
  3. 这仍然被视为共享架构吗?

1 个答案:

答案 0 :(得分:0)

哪个db?你的意思是数据库是MySQL的意思是数据库或模式吗?

真的,租户会有1M个文件吗? w perant-per-db将它们拆分起来会更容易

我们有tenant_id样式系统,如果我再次这样做,我会按照每个架构使用一个租户。