0

約 19 GB の MySQL データベースがあり、内部には約 30 のテーブルがあります。最大のテーブルは約 16 GB で、3,800,000 行あります。この MySQL インスタンスは 128 GB SSD ドライブで実行されています。

MySQL のバージョンは 5.5 です。30 個のテーブルはすべて MyISAM の形式です。それらをすべて InnoDB に変更することを検討しています。一方で、データベースのダウンタイムに悩まされたくありません。

Facebook のエンジニアがこの素晴らしい PHP スクリプトについて聞いたことがあります。これはオンライン スキーマ変更と呼ばれます。マスター/スレーブ方式を採用し、思い通りのホットアルター効果を実現。

現在、(唯一の) SSD ドライブにマスター/スレーブ構造をセットアップし、Facebook スクリプトを実行してホット オルター エンジンタスクを実行することを真剣に検討しています。

ただし、そのドキュメントでは、 InnoDB テーブルに列を追加する最も典型的なシナリオについてのみ説明しています。私の場合、シナリオはまったく異なり、30 個のテーブルのエンジンを MyISAM から InnoDB に変更しています。

私の質問は、この Facebook のアプローチが私の状況に適用できるかどうかです。そうでない場合、代替手段はありますか?ありがとう。

4

0 に答える 0