在不同服务器上加入数据库时​​的Rails性能

时间:2012-05-04 15:51:33

标签: mysql database ruby-on-rails-3 performance

为了给我们提供更多可扩展性,我们计划将一个庞大的MySql数据库(包含大约50个表)分成不同服务器上的多个数据库。我们正在使用Rails 3.

显然,我们希望避免需要从位于不同服务器上的表进行连接,但这有时是不可避免的。

为了帮助我们找出将数据库划分为第8种方式(分为3个新数据库/服务器或12个?),我们想了解当我们访问需要在它们之间加入的信息时,我们将遇到的性能问题(或不存在)

您对此有何体验?任何经验法则?任何宝石或工具?有什么警告和警告吗?缓存怎么样?备份,可靠性怎么样?

感谢您的见解!

1 个答案:

答案 0 :(得分:0)

我没有听说过在Rails中跨越不同物理数据库服务器连接表的任何自动方法。我想你需要在代码中执行手动连接,这将比数据库内连接慢得多。

您可能需要考虑的一个选项是在MySQL中使用FEDERATED引擎:https://dev.mysql.com/doc/refman/5.5/en/federated-storage-engine.html