マルチマスターレプリケーションとは?
まるちますたーれぷりけーしょん
マルチマスターレプリケーションとは、複数のデータベースサーバーが互いにマスターとして機能し、どのノードにも書き込みができる分散データベース構成のことです。
マルチマスターレプリケーションとは、データベースシステムにおいて複数のノード(サーバー)がそれぞれ書き込み権限を持ち、互いにデータを同期し合うレプリケーション方式です。従来の「マスター・スレーブ型」では1台のマスターだけが書き込みを受け付け、残りのスレーブは読み取り専用でしたが、マルチマスター構成ではどのノードにもデータを書き込めます。
仕組みの核心は競合検出と解決にあります。複数のノードに同時に書き込みが発生した場合、同じレコードへの変更が衝突する可能性があります。この競合を解決するために、タイムスタンプ優先・バージョン番号比較・アプリケーション独自ロジックなどの戦略が用いられます。MySQLのグループレプリケーション、PostgreSQLのBDR(Bi-Directional Replication)、MariaDB Galera Clusterなどがこの仕組みを実装しています。
主なメリットは以下の通りです。
- 書き込みの負荷を複数ノードに分散できる
- 1台が障害を起こしても他のノードが継続稼働できる高可用性
- 地理的に離れた拠点ごとに書き込みを最適化できる
一方で、競合解決ロジックの複雑さや、強い整合性を保つためのネットワーク通信オーバーヘッドというデメリットも存在します。ECサイトや金融システムなど、高い可用性と書き込み分散が求められる用途で選択されます。
使い方・例文
例えば、東京と大阪にそれぞれデータベースサーバーを置き、どちらのサーバーにも注文データを書き込める構成にすることで、片方のサーバーが停止しても業務を継続できます。
この用語をシェア
最終更新: