Hatena::ブログ(Diary)

tsunokawaのはてなダイアリー このページをアンテナに追加 RSSフィード

2011-06-20

slonyのデータレプリケーション設定(カラム追加&削除)

ブログを見てくれてはいるが、全然コメントしてくれない友人より、

レプリケーション中にテーブル追加出来るのは分かったけど、カラム追加or削除したら挙動どうなんの?」

という質問を頂いたので以前テストした結果を記載したいと思います。

間違いあるかもしれないので、間違いがあったらご指摘ください。


結論からいうと、マスターとスレーブで同じカラム情報を追加すればレプリケーションは問題なく行われました。

テスト項目は以下ページを参考にさせて頂きました。

http://www.nakachangoo.net/node/39


カラムの追加テスト

  • マスターのみカラム追加してマスターへupdateをかける
マスターカラム追加されデータが更新される。
スレーブスレーブはカラム追加されない。
レプリケーション停止した。


  • スレーブにも同じカラムを追加する。
マスターデータが更新される。
スレーブデータが更新される。
レプリケーション再開した。


  • スレーブに同じカラム追加後、マスターへupdateをかける
マスターデータが更新される。
スレーブデータが更新される。
レプリケーション問題無し。


  • スレーブのみカラム追加してマスターへupdateをかける
マスターカラムは追加されない。
スレーブカラムは追加される。
レプリケーション問題無し。


  • マスターに同じカラムを追加しマスターへupdateをかける
マスターデータが更新される。
スレーブデータが更新される。
レプリケーション問題無し。




カラムの削除テスト

  • マスターのカラムを削除してマスターへupdateをかける
マスター-
スレーブカラムに変化無し。該当カラム以外は更新される。
レプリケーション問題無し。


  • スレーブのカラムの削除し、マスターへupdateをかける
マスターデータが更新される。
スレーブデータ更新が停止(レプリケーションが停止)。
レプリケーションマスターも同じようにカラムを削除するとレプリケーションが再開した。

※ここだけテスト項目を参考というか丸パクリさせて頂いた

http://www.nakachangoo.net/node/39

と異なっていました。

URL先ではスレーブのみカラム削除してもレプリケーションは行われたような記載でしたが、

マスターも同じようにカラムを削除しないとレプリケーションが停止したままでした。。。

時間がある時に再検証やってみようかな。


まとめるとカラム追加or削除を行う場合の手順は、

  1. 参照をスレーブに向けている場合はマスターに向け直す。
  2. マスターでカラム追加or削除する。
  3. 速攻スレーブで同じようにカラム追加or削除する。
  4. 参照をスレーブに向け直す。

という感じになりそうです。

AluAlu 2011/06/22 01:08 ご苦労様です。
もしSlonyに生まれ変わったら、参考にさせていただきます。

tsunokawatsunokawa 2011/06/24 00:41 あざーっす!!

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tsunokawa/20110620/p1