假设我们有一个庞大的客户群,每个客户都可以拥有大量的数据。在SQL Server中,处理此问题的最佳方法是什么?
它是否会为所有记录提供一个新字段来标识客户?
是否为每个客户创建新数据库?
还有其他选择吗?
谢谢你的帮忙
发布于 2013-01-06 19:59:53
阅读Multi-Tenant Data Architecture。您可以选择:
我强烈建议通读这篇文章来了解每种情况的细节,因为有太多的变量需要考虑,而且理所当然地,文章不会推荐其中之一,因为你必须根据自己的具体情况选择一个基础。
因为它是在2006年编写的,所以它没有考虑Azure Federations,它是Shared Database, Shared Schema方法的特例,但具有联邦机制提供的内置横向扩展。
同样,在stackoverflow和dba.stackexchange上搜索“多租户sql server”,会发现之前有过多的讨论。
发布于 2015-10-11 15:24:27
您可以使用partitiondb。它们为您的案例提供了最佳解决方案。
看看他们的saas example。如您所见,每个客户都有一个gatedb和多个db。它就像一个面向对象的数据库概念。它们还支持不同服务器上的dbs。
https://stackoverflow.com/questions/14181764
复制相似问题