2012-10-25 53 views
0

可能重复:
one database or multiple databasesMySQL多个数据库包含完全相同的表或一个数据库与所有记录?

所以说,我将有50个项目,每一个消息日志,通讯录,里程碑信息等。现在它被设定为每个项目获得自己的数据库。但我想知道是否有一个单一的项目数据库与由(已有的)项目ID链接的所有记录更有效率。

我可以想到很多原因,为什么从长远来看,当这些表格需要大量信息时,以及随着越来越多的信息被添加和更改,维护这些更改和提取信息,它会更简单/更高效。

很想听听关于这个话题的一些讨论!谢谢。

+0

[一个或多个数据库(http://stackoverflow.com/questions/3454812/one-database-or-multiple-databases)和[在同一MySQL数据库多个位点](HTTP的可能重复:// stackoverflow.com/questions/1548254/multiple-sites-in-same-mysql-database) – Jocelyn

+0

有类似的讨论在这里http://stackoverflow.com/questions/13059168/how-to-build-a-multi-tenant-应用程序 - 但只股 - 某些桌/ 13059277#comment17736675_13059277 –

+0

我们确实需要一些更多的背景下...这是供内部使用(与潜在客户的访问)项目管理系统或者是这个东西就像一个milti现场CMS安装主要用户是客户端的地方? – prodigitalson

回答

1

我会将它们全部合并在一起,以便您具有可扩展性。为每个项目分配数据库将要求每个项目都更新到正确的连接信息,以确保您正在回收正确的数据。

通过保持包含在同一个数据库中的所有数据你可以通过一个单一的变化,而不是相同的变化50+次全线变化做出。只要你选择你的查询,随着所有项目数据库的增长,你不会看到一个明显的减速。

+0

有些人可能会说,“一个改变=全部改变”是一个缺点,如果一个客户想要改变某些东西,你必须保持不灵活或者事情变得复杂。也就是说,我确实喜欢多宿主方面,从共享数据库中提取一个客户端比反过来更容易。 –

+0

对于多租户应用程序,当需要时总是从一个数据库和分片*开始*。如果N变得非常大,例如超过10,000,那么在N个数据库上运行迁移可能变成完全的噩梦。 – tadman

0

如果youre谈论的是项目管理/跟踪系统的一个DB是最好的。真的这些项目是系统中的数据,它们应该要求个性化定制超越数据或功能配置。

另一方面,如果你在谈论一个多站点CMS配置,这通常是一个坏主意,因为不同的网站可能需要不同的功能,他们会有不同的设计/主题等等。有些可能需要版本x的代码库,而另一个站点可能需要在代码库的版本y上。

相关问题