Open3
MySQL互換のPercona XtraDB Cluster (PXC)について
Percona社のMySQL互換のデーターベースクラスタ
percona.com
さくらインターネットのPXCを試している記事
Percona XtraDB Clusterを試す
DDLの実行に注意する
PXCはマルチマスターであるため、DDLの実行に注意が必要。
DDLの実行方法には、TOI (Total Order Isolation)とRSU (Rolling Schema Upgrade) がある。
TOIでは、全ノードでDDLが同時に実行されるが、DDLが完了するまではトランザクションが待ち状態になる。テーブルが巨大な場合、ALTER TABLEをサービス稼働中に実行しないほうが良い。
RSUでは、DDL実行中のノードがクラスタから分離されDDLを実行する。復帰した後に更新差分が適用されて、クラスタに復帰する。1ノードずつ更新することでサービス停止せずにDDLを実行できるが、DDLが反映されたカラムの削除や変更などは実行できない。
サービス停止せずに、削除や変更などを行いたいとき、pt-online-schema-changeを利用することも可能。ただしサーバーの負荷が高くなる。
マルチマスターについて (一般的な話)
-
マスター・スレーブ
- 書き込みはマスター、読み込みはスレーブ
- 台数が増えるとマスターの負荷が増えていく
-
マルチマスター
- 全てのサーバーがマスターであり、スレーブでもある
- 台数が増えてもマスターの負荷は増えにくいが、メンテナスが難しくなる