一个数据库还是多个引用一个?

Jon*_*boy 5 database-design sql-server

数据库设计:一个数据库还是多个数据库,哪个最好?

我们有一个数据库,它有大约 100 个左右的表,由大约五个不同的应用程序访问。五个不同的应用程序有自己的一组表,但也需要访问大约 20 个主表(我们所有的系统都使用:用户、帐户、联系人、商店等)。现在我们将有另外 15 个左右的应用程序,它们有自己的一组表,但也需要访问以从主表中获取信息。因此,在我们开始设置之前,您认为最好的架构和数据库设置是什么。即一个包含所有应用程序的数据库,包括主应用程序。每个应用程序都有自己的数据库,主记录保留在 master 中?

任何人在这里的想法将不胜感激。我想我倾向于使用单独的数据库,以便更好地管理它们,并且性能应该更好(也许不是?)。

如果我单独使用它们的任何含义:将不可能设置引用,用于选择、更新、asp.net 的性能连接数据库需要 2 个连接字符串(甚至可以先说实体框架数据库或 LINQ DBML)。

Aar*_*and 7

我倾向于使用多个数据库。主要是因为您可以针对不同的恢复、SLA、维护、部署、更改等设置它们。此外,这还允许您将某些数据库移动到不同驱动器上更快或更大的 I/O,而不会干扰每个人

对于所有应用程序使用的主表,不,我认为您不应该拥有这些的多个副本。您的应用程序可以查询不同的数据库和/或为不同的任务使用不同的连接字符串(在大多数情况下最好由某种中间层分隔)。如果单个数据库中特定于应用程序的代码需要对它们进行某种引用,您可以使用同义词或三部分名称。如果您以后不仅需要跨数据库拆分,还需要跨多个实例/服务器拆分(只需添加一个链接服务器并使其成为由四部分组成的名称),那么这很容易扩展。

只有当这些服务器之间的链接非常缓慢或不可靠时,我才会考虑制作主表的副本。我在这里这里讨论了如何做到这一点,尽管我没有明确涵盖跨服务器移动数据。