应用程序设计单对多个数据库

时间:2011-05-09 21:16:04

标签: mysql

我正在阅读一些类似问题的答案,但如果我做出了正确的决定,这并不能帮助我理解。

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

  1. 他们需要备份自己的数据(如果他们有自己的数据库,这很容易做到)
  2. 如果我成长,很容易扩展。因为我可以将数据库移动到不同的服务器。
  3. 有多个数据库与单个数据库有什么优点和缺点?

3 个答案:

答案 0 :(得分:1)

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

我唯一能想到的是,如果您将模式更改推广到一个/多个表,那么您将不得不将其应用于每个客户的数据库。如果你想更新一些而不是其他人,这可能是一个优势。

你提到的关于通过在MySQL实例之间拆分客户很容易扩展的专家是一个很大的专业人士。我前段时间设计了一个类似的应用程序,使用完全相同的方法。

答案 1 :(得分:1)

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

此外,当您添加更多公司时,您将不得不添加新数据库,创建表,然后修改您的应用程序以使用这些不同的数据库?这听起来像是一场噩梦般的噩梦。

使用MySQL进行扩展应该不是问题,因为有各种可用的复制工具。

使用少量代码备份单个公司应该不是问题。

答案 2 :(得分:1)

假设您有10,000个客户端并且您需要更改表Customers的结构,您将如何更改所有10K数据库?