Mulit PrimaryのMySQL Group Replicationでノードをまたぐロックの挙動

はじめに

Group Replication は、マルチマスターのレプリケーション構成を行うためのMySQLの機能で、5.7.17からプラグインとして提供され利用可能となっています。

Group Replication ではレプリケーションを構成する各MySQLノードに書き込みができる Mulit Primary 構成と、レプリケーションを構成するいずれか1つのノードにのみ書き込みができる Single Primary 構成があります。
Single Primaryでは特定のノードにしか書き込みができないのでノードをまたぐロックについては気にする必要がありませんが、Multi-Primaryでは複数のノードから書き込みが行われるため、ノードをまたぐロックも気にしなければなりません。

しかし、Group Replication で Writeが行われた時のノード間の整合性チェックのプロセスにはこれらのロックについては考慮されていません。
異なるノードでのトランザクションによる更新処理は正常に実行され、楽観的ロックにより COMMIT 後にチェックが行われて不整合が生じた場合にエラーが返されるようです。
続きを読む »

このエントリーをはてなブックマークに追加