12章アンチエントロピーと情報散布

本書でこれまでに議論した通信パターンの大半は、ピアツーピアか一対多、つまりコーディネータとレプリカのいずれかでした。システム全体に渡ってデータレコードを確実に伝播するには、伝播元のノードが利用可能で、他のノードと通信ができる必要があります。しかし、これらの通信パターンでは、スループットは単一のマシンに制限されます。

高速で信頼性の高い伝播は、データレコードにはあまり適用できないかもしれませんが、メンバーシップ情報(ノードの参加と離脱)、ノードの状態、障害、スキーマの変更などのクラスタ全体に渡るメタデータにとっては、より重要です。この情報が含まれるメッセージは、一般的に頻度が少なく小さいものですが、可能な限り、高速で確実に伝播される必要があります。

このような更新をクラスタ内のすべてのノードに伝播するには、一般的に以下3つのアプローチのいずれかを利用します[DEMERS87]。これらの通信パターンの概要を図に示すと、図12-1のようになります。

  • a)1つのプロセスから、その他すべてのプロセスへブロードキャストで通知します。
  • b)定期的なピアツーピアの情報交換。ピア同士は互いに接続し、メッセージを交換します。
  • c)連携ブロードキャスト。メッセージを受信したプロセスがブロードキャストする立場となり、より高速で確実な情報の拡散に貢献します。
    ブロードキャスト a)、アンチエントロピー b)、ゴシップ c)

    図12-1 ブロードキャスト a)、アンチエントロピー b)、ゴシップ c)

他のすべてのプロセスにメッセージをブロードキャストすることは、もっとも単純なアプローチであり、クラスタ内のノードの数が少ないときには十分に機能します。しかし、大規模なクラスタでは、ノードの数が多いために ...

Get 詳説 データベース ―ストレージエンジンと分散データシステムの仕組み now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.