哪个解决方案更好?一个数据库还是多个数据库,每个客户一个

哪个解决方案更好?一个数据库还是多个数据库,每个客户一个

我正在开发一款将拥有大量用户的软件(希望如此),其中有些用户没有太多记录或超出正常数据,而有些用户则拥有大用户,这些用户在许多表中拥有数百万行数据。将每个用户放在单独的数据库中或为所有用户建立一个主数据库,哪个更好,即使数据记录可能非常大。我担心性能问题,即使每个用户有数百万条记录,SQL Server 是否仍能正常运行?数据结构将相同,因为它们都将与同一个软件通信。

有什么想法吗?谢谢。

答案1

您确实需要找到一位优秀的 DBA,他可以更仔细地评估您的特定需求并提出明智的建议。话虽如此,我会先考虑如何让它发挥作用,然后再考虑过度扩展,并首先将所有内容放在一个数据库中。

有先进的技术可以划分数据,这样数据就不会全部位于同一台服务器上,同时又不会损害数据结构的单一数据库视图。同样,找一个好的 DBA 来提出建议,他们会知道这些事情。

答案2

咨询 DBA 听起来是必须的。

如果您现在只有少数用户,但希望扩展到更多用户,那么为每个用户创建单独的数据库就没有什么意义了;使用单独的数据库可能获得的任何性能几乎肯定会被扩展的开销所抵消。注意:SQL 服务器实例中的最大数据库数量是32,767

优秀的 DBA 应该能够帮助您以能够解决性能问题的方式规范单个数据库内的表。

答案3

如果每个用户都有很多表和数据,恕我直言,单独的数据库将是首选解决方案。

您还可以从单个数据库实例开始,当特定用户的数据增长超出平均值时,将它们从主数据库中分离出来,并让它们在单独的实例上工作。

此外,如果数据是私密的,并且安全性是一个主要问题,那么单独的实例将限制将数据泄露给错误用户的选项。

相关内容