一个或多个用于多国 Web 应用程序

Alf*_*ñoz 1 database-design

让我们对我遇到的这种情况有一些不同的看法。

我正在使用数据库(sql server express,最大 10gb db 大小)创建一个 (asp.net) web 应用程序。

此应用程序管理实体,但实体与国家相关,一个国家 - 多个实体。

在此之前,我无法预测数据库将如何增长。这是我在空闲时间做的一个个人/爱好项目。

我担心的是我是否应该为每个国家/地区创建特定的数据库副本。我认为的原因是:

  • 数据库的大小会更小,所以我不会有从 SQL Server Express 开始的大小问题。
  • 再次,数据库大小。由于每个国家/地区的规模较小,因此性能会更好。
  • 可以在每个国家/地区的低高峰时间执行维护任务(备份、部署)。
  • 如果每个国家/地区的数据保护法律不同,我可以根据具体法律调整每个数据库。
  • 每个国家/地区的自定义文本搜索。这真的不是问题,因为我认为我可以为每个不同的国家/地区创建一个视图并对该视图进行文本搜索。

然后,如果我只有一个适用于所有国家/地区的数据库,则有一些优势:

  • 维护将变得更加简单。只有一个数据库意味着只做一次。
  • 没有冗余代码。我在这个网络应用程序中使用了很多存储过程。一项更改只需要在生产中发布一次。

上帝!写下每个替代方案的优点似乎使多个数据库成为赢家!看来单数据库是给懒人用的……

无论如何,我想阅读更多的观点,所以请各位大侠,随意贡献你的想法。谢谢!

Oli*_*ver 5

我会选择 1 个数据库。

为了更轻松的维护工作。世界上有近 200 个国家,即使你有其中一半的数据库。您想在表中添加一列并且必须在每个数据库中更改它的那一天将是一场噩梦。(确保您不要忘记 1 个数据库或者如果您输入错误名称等)。

此外,以当前计算机的功率/容量,性能应该不是问题。(除非它对您的程序非常重要)。