by shigemk2

当面は技術的なことしか書かない

片方向レプリケーション

片方向 / 非同期

レプリケーションの基本。

「マスタ」に更新した結果が「スレーブ」に「非同期」で伝播するタイプのレプリケーション

  1. マスタで更新系のSQL文をログファイル(バイナリログ)に記録
  2. ログファイルをスレーブに転送
  3. スレーブでバイナリログを受信(I/Oスレッド)
  4. スレーブでバイナリログを実行(SQLスレッド)

の手順となる。

なお、マスタを更新したらその結果をスレーブに送信する同期方式のレプリケーションも存在する。

双方向レプリケーション

マスタを2コ以上持たせてそれぞれのマスタで更新できるようにすることも可能である。
これを「マルチマスタ(双方向レプリケーション)」という。

とはいうものの、2コ以上のマスタを同時に更新しあうがゆえに、整合性を取るのが地味にしんどく、
分散型排他制御の仕組みが必要となる。

つまり、実現が技術的に難しい。