多租户SaaS应用程序的数据库模式

时间:2014-01-08 15:15:20

标签: database database-design multi-tenant saas

我想知道如何为每个租户提供自定义。我想提供设施,以便在租户想要的每个表单中添加字段名称,数据类型等新字段。现在我的问题是如何为这种情况设计数据库表?我认为我们必须为每个表单提供表单ID,并且每当租户在表单中创建一个新字段时,应该在数据库表中创建一个新行,该行应具有租户ID,表单ID,字段名称,数据类型等....

现在请给我真正解决方案的朋友....我需要立即获得数据库表设计解决方案......

1 个答案:

答案 0 :(得分:3)

使用SQL,租户可以共享数据库集群,数据库或表。术语各不相同。

当租户共享数据库群集时,每个租户都有一个私有数据库。这是最容易定制的,在租户中具有最强的隔离性,并且在灾难中最容易恢复。

当租户共享数据库时,每个租户都会获得一个私有架构。这也非常容易定制,租户之间的隔离度较低,并且在灾难中仍然相对容易恢复。但是,一个租户的恢复可能会影响所有租户的表现。

当租户共享一张桌子时,每个租户都会得到一些私人行,可以这么说。即使是小规模也很难定制,租户之间的隔离更加困难,单个租户的灾难恢复确实很难实现。

我认为您最好的选择是每个租户一个数据库或每个租户一个模式。但是你应该意识到期望最终用户成为数据库设计者是有风险的。