ID)が導入されました。使うと便利そうだ、というものの実際どんなものかイマイチ分からなかったので、調べてみました。サーバーがUUIDを持つ私は調べるまで誤解していたのですが、UUIDを持つのはサーバーであって、トランザクションではありません。それぞれのサーバーにUUIDが割り当てられ、トランザクションは連番が振られます。4台のMySQLインスタンスで1台をマスターにした場合は以下のようににUUIDが振られます。トランザクションは次のようにIDが振られます。"40bbcf9b-e556-45b0-bdb3-e528f0041652"で実行された123番目のトランザクションは40bbcf9b-e556-45b0-bdb3-e528f0041652:123という感じになります。いうように記録されます。この図の場合では、右端のスレーブのみ最後のトランザクションが実行されず、遅れていることがわかります。つなげて記録されます。マスターを切り替えるではマスターが落ちた場合の動作を見てみましょう。マスターが落ちました。右端のスレーブが遅れているので除外し、今回は左端のスレーブをマスターに昇格させます。この場合、左側のスレーブは新マスターに追いついているので、新マスターの最新のログポジションに合わせれば良いことがわかります。右側のスレーブはひとつ遅れているので、新マスターの該当のログポジションに合わせます。新しくトランザクションが数えられます。これまで実行されたトランザクションがすべて記録されます。マスターが変更された場合は複数行記録されます。旧マスターに対するスナップショットから新しくスレーブを追加することもできます右端に新しくスレーブを追加しました。わかりますので、新マスターに接続した時にポジションを新マスターの場所に自動的に設定します。'a8679745-1864-11e3-a1ec-28924a2bea1c:14'という行が現れます。これは、次に実行するトランザクションのIDを指定しています。IDを次のトランザクションに設定しますが、設定し直すと任意のIDのトランザクションを作成することができます。トランザクションを実行ということになります。自分がどこまでのトランザクションを実行したのか追跡しています。nutshellというスライドが大変参考になりました。