单一数据库与多个数据库的应用设计

单一数据库与多个数据库的应用设计

问题描述:

我正在阅读一些类似问题的答案,但是如果我做出正确的决定并不能帮助我理解。单一数据库与多个数据库的应用设计

我有一个用于管理销售的Web应用程序。我决定每个公司都应该有自己的数据库。

  1. 他们需要备份自己的数据(这是很容易做到,如果他们有自己的数据库)
  2. 这是很容易结垢,如果我长大。我可以将数据库移动到不同的服务器上。

有哪些优点有多个数据库VS单一的+利弊?

如果数据是自包含在每个数据库中,那么我认为你的方法是合理的。

我能想到的唯一的con是,如果你推出一个模式更改到一个/多个台那么你将不得不将它应用到每一个客户的数据库。如果你想更新一些而不是其他的,这可能是一个优点。

你提到这件事是容易被MySQL实例之间的分裂客户能够扩展亲是一个很大的职业。前段时间我设计了一个类似的应用程序,它使用完全相同的方法。

这两家公司是否完全隔离?我的意思是,您可能想要查询涵盖多个公司的数据。说一下公司订购的年度销售报告?在这种情况下,单个数据库将会更适合。

此外,当您添加越来越多的公司,你将不得不增加一个新的数据库,创建表,然后让你的应用程序进行修改,以充分利用这些不同的数据库?这听起来像是一场噩梦。

与MySQL缩放不应该是一个问题,因为有各种各样的复制工具可用。

备份一家公司不应该是一个问题,只要一点点代码。

+0

这些公司是孤立的我永远不会想要查询多个公司。当我更新模式时,所有的数据库都有相同的用户,所以我循环遍历它们并运行相同的查询。 – 2011-05-09 23:50:50

说你有10,000个客户端,你需要改变Customers表的结构,你打算怎么改变所有的10K数据库?

+0

现在我显示数据库并查看这些数据并运行相同的查询。它现在工作得很好,因为我只有大约20个数据库。 – 2011-05-09 23:49:40