假设我们拥有庞大的客户群,每个客户都可以拥有大量数据。在SQL Server中,处理此问题的最佳方法是什么?
是否会为所有记录提供一个新字段来识别客户?
为每位客户创建一个新数据库?
其他一些选择?
感谢您的帮助
答案 0 :(得分:1)
阅读Multi-Tenant Data Architecture。您的选择是:
我强烈建议您仔细阅读每篇文章的详细信息,因为要考虑的变量太多,理所当然,因此你这篇文章最终不会推荐其中一个。必须选择一个基地,不论你的具体情况。
自2006年以来,它不考虑Azure Federations这是Shared Database, Shared Schema
方法的一个特例,但是联盟机制提供了内置的扩展。
此外,对“多租户sql服务器”的stackoverflow和dba.stackexchange的搜索将揭示过去的大量讨论。
答案 1 :(得分:0)
您可以使用partitiondb。他们为您的案件提供最佳解决方案。
看看他们的saas example。如您所见,每个客户都有一个gatedb和多个dbs。它就像是面向对象的数据库概念。他们还支持不同服务器上的dbs。