マルチマスターレプリケーションとは
マルチマスターレプリケーションは、データベース管理ソフトウェアで採用されている手法であるため、異なるコンピューターに保存された単一のデータベースの複数のコピーを、分散化された方法で多くのユーザーが使用および更新できます。 マルチマスターレプリケーションを使用しているデータベースに変更が加えられると、行われた変更はネットワーク上の他のすべてのコンピューターに送信されるため、使用中のデータベースのすべてのコピーが更新されます。 マルチマスターレプリケーションセットアップのいくつかの利点には、冗長データバックアップと、ネットワーク内のコンピューターの1つが機能しなくなった場合でもデータベースのコピーの更新を維持できる分散型アーキテクチャが含まれます。 マスター/スレーブアーキテクチャの場合のように、単一のマスターシステムが割り当てられていない場合、1つの物理端末だけに依存するのではなく、ネットワーク内の任意のマルチマスター端末からデータベースを制御する変更および管理コマンドを発行できます。 マルチマスターレプリケーションシステムの使用で発生する可能性のある最大の問題は、ネットワーク全体で常にデータが同期されたままになるように、すべてのシステムを十分に高速に更新することです。
「マルチマスター」という用語は、単一の端末がマスターとして指定される、マスタースレーブレプリケーションのより基本的な方法に由来します。 マスター/スレーブの状況では、単一のマスターのみがスレーブドライブの情報を更新できます。 マルチマスターレプリケーションシステムには、マスターとして指定された複数のシステムがあり、各マスターはそれ自体の責任だけであるか、レプリケーショングループと呼ばれる多数のコンピューターを担当する場合があります。 複数のマスターを使用すると、どのマスターシステムでも他のすべてのマスターシステムに変更を開始でき、非常に大規模なシステムで非常に複雑なネットワーク相互作用を引き起こす可能性があります。
マルチマスターレプリケーションには2つの形式があり、1つは同期レプリケーションです。 同期レプリケーションは、変更が行われるたびにデータベースのすべてのコピーをリアルタイムで更新することにより機能します。 これにより、ネットワーク全体でデータが同期されない場合に発生する可能性のあるほとんどの状況が解消されますが、大量のネットワークトラフィックが作成され、大規模システムに実装するには大量の処理能力が必要になる場合があります。 これらの理由から、同期レプリケーションは、主に少数のマスターコンピューターのみが存在するネットワークで使用されます。
マルチマスターレプリケーションの2番目のタイプは、非同期レプリケーションです。 変更が行われるたびにシステムを更新する代わりに、データベースへの変更は各システムのイベントとして保存され、それらの変更はイベントのトリガー時またはスケジュールされた更新期間中に適用されます。 これは、使用されるネットワーク帯域幅と処理能力が少なくなることを意味しますが、更新の遅延または遅延のために、ある時点で2人のユーザーが競合する方法で同じ情報を変更しようとする可能性が高くなります。 ほとんどの分散データベース管理システムは、同期マルチマスターレプリケーションと比較して消費されるリソースが少ないため、非同期レプリケーションを使用します。