2012-01-14 69 views
0

我目前有一個Rails應用程序,它配置了一個MySQL數據庫。Rails和後端的多個數據庫

問題是數據庫大小增長非常迅速。大約每3個月記錄一次~3,500,000,大小爲1 GB

雖然應用了適當的索引,但應用程序似乎按預期工作,直到最近數據庫查詢開始超時爲止。

我真的在這裏擴展了MySQL的限制嗎?是否有任何Rails插件可用於允許我的同一代碼與備份中的多個數據庫一起工作,以便一臺數據庫服務器不會承擔負擔?

你會在這種情況下做什麼?

回答

0

你可以嘗試partitioning數據庫

+0

分區mysql的innodb有些限制,你不能使用分區表中的外鍵,或者引用其他表中的分區表。 – 2012-01-15 17:00:08

0

你所描述這裏的大小決不是太大一個MySQL實例。幾百萬行和幾個G的總大小並沒有那麼糟糕。只需調整您的配置即可獲得很多性能提升。你在使用Innodb嗎?如果是這樣,請仔細看看你的my.cnf文件,並密切關注你的innodb_buffer_pool_size。另外,你的訪問模式是什麼?多讀,少寫?多寫幾個讀取?兩個?你可以像memcached一樣添加一個緩存層。在多次讀取的情況下,您可以添加複製從服務器。總之,在你需要分割你的數據庫之前,可能會有一些跑道。