一个数据库或多个用于多国网络应用程序

时间:2012-03-09 11:27:38

标签: database-design

让我们对这种情况有不同看法。

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

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

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

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

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

然后,如果我所有国家只有一个数据库,那么有一些优势:

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

天啊!写下每个替代品的专业人员似乎使多个数据库成为赢家!似乎单个数据库适用于懒人...

无论如何,我想阅读更多观点,所以请大家,随时为你的想法做出贡献。谢谢!

1 个答案:

答案 0 :(得分:4)

我会选择1个数据库。

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

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