読み取りクォーラム(よみとりくぉーらむ)
最終更新:2026/4/28
読み取りクォーラムとは、分散システムにおいて、データの整合性を保証するために、読み取り操作を行う前に確認すべきノードの最小数を指す。
ポイント
読み取りクォーラムは、データの鮮度と可用性のトレードオフを調整する上で重要なパラメータであり、システムの設計に応じて適切な値を設定する必要がある。
読み取りクォーラムの概要
読み取りクォーラムは、分散データベースや分散ストレージシステムにおいて、データの読み取り操作の信頼性を高めるために用いられる概念です。分散システムでは、データが複数のノードに複製されることが一般的であり、あるノードで発生した更新が他のノードに反映されるまでには時間がかかります。このため、読み取り操作を行う際に、どのノードからデータを読み取るか、また、どの程度の数のノードからデータを読み取るかを決定する必要があります。
読み取りクォーラムは、読み取り操作を行う前に確認すべきノードの最小数を指定します。例えば、読み取りクォーラムが3の場合、読み取り操作を行う前に、少なくとも3つのノードからデータを読み取り、そのデータの整合性を確認する必要があります。これにより、古いデータや不整合なデータを読み取るリスクを低減することができます。
読み取りクォーラムと書き込みクォーラム
読み取りクォーラムは、書き込みクォーラムと密接に関連しています。書き込みクォーラムは、書き込み操作を行う前に、データを書き込むべきノードの最小数を指定します。読み取りクォーラムと書き込みクォーラムの合計が、データの複製数を超える場合、システムの整合性が保証されます。これは、CAP定理における整合性(Consistency)を確保するための重要な要素となります。
読み取りクォーラムの調整
読み取りクォーラムの値は、システムの要件に応じて調整する必要があります。読み取りクォーラムを高く設定すると、データの整合性は高まりますが、読み取り操作のレイテンシが増加し、可用性が低下する可能性があります。一方、読み取りクォーラムを低く設定すると、読み取り操作のレイテンシは低下し、可用性は向上しますが、データの整合性が低下する可能性があります。
読み取りクォーラムの例
例えば、Amazon DynamoDBでは、読み取りクォーラムと書き込みクォーラムを動的に調整することができます。これにより、システムの負荷や可用性の要件に応じて、最適なパフォーマンスを実現することができます。