我应该将整个网站放在一个数据库中还是分成两个数据库?

时间:2009-12-24 07:26:20

标签: mysql database-design

我正在开发的webapp将包含一个论坛(phpbb3或smf),一个wiki(doku wiki平面文件存储)和我的主Web应用程序。

所有这些都将共享一个User表。该论坛我希望看到适度的使用(每天大约200个帖子),并将从那里开始增加。主Web应用程序将大量使用触发器,mysql事件和存储过程。

将论坛和主要网络应用程序拆分为单独的数据库是更明智的选择(IE可维护性和性能)吗?

5 个答案:

答案 0 :(得分:2)

为什么要使用两个数据库?有什么可能的原因?请更新问题以解释为什么您认为两个数据库相对于一个数据库具有某些优势。

通常,每个人都会尝试使用一个数据库来将管理开销降低到可接受的水平。为什么要增加复杂性?

答案 1 :(得分:0)

让您的应用程序开始变得简单。如果你不期望开始有大量的流量,那么拥有一个数据库就没问题了。您以后可以随时升级您的网站。更改存储表的数据库不应该需要大量代码。

答案 2 :(得分:0)

这取决于。如果有任何优化的机会,那么分裂是好的,否则。另一件事是,即使你分裂了,你也应该能够成功地管理它们,这有点开销。

答案 3 :(得分:0)

为了将来的可维护性,我肯定会建议您在拥有共享表时不要拆分数据库。这只会增加查询的大小(因为跨DB的连接需要进一步的限定)。当新人无法弄清楚他们的查询无效时,这最终也会导致混淆。

此外,如果两个DB实际上在不同的服务器或实例上运行,您将无法加入,并且将被迫在代码和查询之间来回移动以执行本来可以是简单连接的操作。对于简单的一行查找类型查询而言,这可能不是什么大问题,但对于更复杂的摘要类型查询,这意味着将RDBM特别优化的大量处理转储到更通用的编程语言中。 / p>

答案 4 :(得分:0)

分离到两个数据库无法保证性能。将表放在不同的表空间(即不同的驱动器)可以提高性能,因为独立查询通常不会竞争硬盘的读/写头的访问转向