本文へスキップ

クォーラムとは?

くぉーらむ

クォーラムとは、分散システムにおいて意思決定や操作の実行に必要な最低限のノード数(通常は過半数)を指し、スプリットブレインを防ぐための基本的な仕組みです。

クォーラム(Quorum)は、もともとラテン語で「定足数」を意味する言葉で、分散コンピューティングの文脈では、クラスター内の複数ノードが意思決定データ操作を行う際に必要な最小同意数を指します。「過半数のノードが合意しなければ処理を進めない」というルールを設けることで、ネットワーク分断が発生しても誤ったリーダー選出やデータの二重書き込みを防ぎます。

クォーラムの基本原理は単純です。たとえば5ノードのクラスターでは、クォーラム数は3(過半数)に設定されます。ネットワーク障害で3対2に分断された場合、3ノードを持つ側だけがクォーラムを満たすためリーダーとして動作を継続でき、2ノード側は処理を停止します。これにより同時に2つのリーダーが存在するスプリットブレイン状態を防ぎます。

クォーラムはさまざまな分散アルゴリズムで活用されています。

  • Raftコンセンサス:リーダー選出とログ複製にクォーラムを使用(TiKV、etcdなど)
  • Paxosアルゴリズム:提案の承認にクォーラムを必要とする古典的なアルゴリズム
  • ZooKeeper:分散コーディネーションにクォーラム方式を採用
  • Elasticsearchクラスター:マスターノード選出にクォーラムを使用

クォーラムを適切に機能させるには奇数台のノード構成が推奨されます。偶数台の場合、ネットワーク分断で均等に二分割されるとどちらもクォーラムを満たせず、システム全体が停止するリスクがあります。そのため3台、5台、7台といった奇数構成がベストプラクティスとされています。

使い方・例文

ZooKeeperやetcdのクラスターを構築する際に「クォーラムを確保するため最低3台以上の奇数台構成にしてください」という形で登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語