2012-01-14 9 views
0

私は現在、1つのMySQLデータベースで構成されるRailsアプリケーションを持っています。バックエンドの複数のデータベースと複数のデータベース

問題は、データベースサイズが非常に急激に増加することです。おおよそ~3,500,000のレコードは3ヶ月に1回、サイズは1 GBです。

適切なインデックスが適用されていますが、データベースへのクエリがタイムアウトするまで、アプリケーションは予想通りに動作していたようです。

ここで私は実際にMySQLの限界を広げていますか? 1つのDBサーバーに負荷がかからないように、同じコードを複数のデータベースで使用できるようにするために使用できるRailsプラグインはありますか?

あなたはこのような状況で何をしますか?

答えて

0

あなたはpartitioningあなたがここに記述されているサイズは1つのMySQLインスタンスに対して大きすぎないことはデータベース

+0

mysql innodbをパーティション化することは、幾分制限されています。パーティション化されたテーブルの外部キーを使用することも、他のテーブルのパーティション化されたテーブルを参照することもできません。 –

0

を試してみてください。数百万行といくつかのGの合計サイズはそれほど悪くありません。設定を調整するだけで、多くのパフォーマンスが向上します。 Innodbを使用していますか?もしそうなら、あなたのmy.cnfファイルを見て、innodb_buffer_pool_sizeに細心の注意を払ってください。また、あなたのアクセスpattenは何ですか?複数の読み込み、少ない書き込み?複数の書き込みを複数書き込みますか?どちらも ? memcachedのようなキャッシングレイヤーを追加することができます。複数の読み取りの場合、複製スレーブを追加できます。要するに、データベースを破る前に滑走路があるかもしれません。

関連する問題