クォーラムとは、分散システムで操作を実行するために分散トランザクションが取得する必要がある最小の投票数です。クォーラムベースの技術は、分散システムで一貫した操作を強制するために実装されます。
分散データベースシステムにおけるクォーラムベースの技術
クォーラムベースの投票は、レプリカ制御方法[1]としてだけでなく、ネットワーク分割がある場合にトランザクションの 原子性 を保証するコミット方法としても使用できます。[1]
コミットプロトコルにおけるクォーラムベースの投票
分散データベース システムでは、トランザクションは複数のサイトで操作を実行することができます。アトミック性にはすべての分散トランザクションがアトミックであることが求められるため、トランザクションはすべてのサイトで同じ結果 (コミットまたは中止) をたどる必要があります。ネットワーク パーティション分割の場合、サイトはパーティション化され、パーティションは相互に通信できない可能性があります。ここで、クォーラム ベースの手法が役立ちます。基本的な考え方は、サイトの過半数がトランザクションの実行に投票すると、トランザクションが実行されるというものです。
システム内のすべてのサイトには、投票 V iが割り当てられます。システム内の投票の総数が V で、中止クォーラムとコミットクォーラムがそれぞれ V aと V cであると仮定します。コミットプロトコルの実装では、次のルールに従う必要があります。
- V a + V c > V、ただし 0 < V c、V a V。
- トランザクションがコミットする前に、コミットクォーラムV c を取得する必要があります。コミットクォーラムとは
、コミットする準備ができている少なくとも1つのサイトと、コミットを待機している0以上のサイトの合計V cです。[2] - トランザクションが中止される前に、中止クォーラム V aを取得する必要があります。中止クォーラム V a は、中止する準備ができている 0 個以上のサイト、または中止を
待機しているサイトの合計です。
最初のルールは、トランザクションが同時にコミットおよび中止されないことを保証します。次の 2 つのルールは、トランザクションが何らかの方法で終了する前に取得する必要がある投票を示します。
レプリカ制御のためのクォーラムベースの投票
複製データベースでは、データ オブジェクトのコピーが複数のサイトに存在します。直列化可能性を保証するには、2 つのトランザクションが同時にデータ項目を読み取ったり書き込んだりできないようにする必要があります。複製データベースの場合、クォーラム ベースのレプリカ制御プロトコルを使用して、2 つのトランザクションが同時にデータ項目の 2 つのコピーを読み取ったり書き込んだりできないようにすることができます。
レプリカ制御のためのクォーラムベースの投票は、[Gifford, 1979] によるものです。[3] 複製されたデータ項目の各コピーには投票が割り当てられます。各操作は、データ項目の読み取りまたは書き込みを行うために、それぞれ読み取りクォーラム(V r ) または書き込みクォーラム(V w ) を取得する必要があります。特定のデータ項目に合計 V の投票がある場合、クォーラムは次のルールに従う必要があります。
- V r + V w > V
- Vw > V/2
最初のルールは、データ項目が 2 つのトランザクションによって同時に読み書きされないことを保証します。さらに、読み取りクォーラムに、データ項目の最新バージョンを持つサイトが少なくとも 1 つ含まれていることを保証します。2 番目のルールは、2 つのトランザクションからの 2 つの書き込み操作が同じデータ項目に対して同時に発生しないことを保証します。この 2 つのルールにより、1 つのコピーのシリアル化可能性が維持されます。
参照
参考文献
- ^ ab Ozsu, Tamer M; Valduriez, Patrick (1991). 「12」.分散データベースシステムの原則(第 2 版). Upper Saddle River, NJ: Prentice-Hall, Inc. ISBN 978-0-13-691643-7。
- ^ Skeen, Dale. 「クォーラムベースのコミットプロトコル」(PDF)。コーネル大学 ECommons ライブラリ。2013年2 月 10 日閲覧。
- ^ Gifford, David K. (1979).複製されたデータに対する加重投票. SOSP '79: Proceedings of the seventh ACM symposium on Operating systems principle. Pacific Grove, California, United States: ACM. pp. 150–162. CiteSeerX 10.1.1.12.6256 . doi :10.1145/800215.806583.
