DDi*_*ita 8 sql-server best-practices referential-integrity multi-tenant
我正在与具有多个数据库的客户合作。有几个master级别数据库与instance级别数据库(特定于应用程序的 DB)有关系。从instanceto的关系master是整数值,表示master. 中的视图和存储过程instances设置为master通过这些存储的键加载数据。
显然,没有真正的参照完整性,但这是不好的做法还是数据应该驻留在instance数据库的只读表中?
唯一的问题是没有真正方便的方法来强制执行这些关系。您可以使用大量触发器,或者将主表存储在每个实例数据库中,然后简单地将所有这些作为元数据公开给主表,也许使用视图。
我认为,最大的缺点与保持数据准确和同步有关,至少在我脑海中的三个场景中(即使您使用触发器,所有这些仍然可能是一个问题):
尽管如此,我一直并将永远是将租户分离到他们自己的数据库中的粉丝,我承认中央数据库存在风险 - 但这是必要的。
(顺便master说一句,你应该为你的数据库使用 master / instance 以外的名称。在 SQL Server 中肯定有一个明确的含义,即使阅读我上面自己的话,它们也可能是模棱两可的。同样的instance。在以前的生活中,我运行了一个多-租户系统,我们称之为中央数据库Control和租户数据库,嗯,Tenants。)
| 归档时间: |
|
| 查看次数: |
1052 次 |
| 最近记录: |