Skip to main content
QUICK REVIEW

[論文レビュー] Just-Right Consistency: reconciling availability and safety

Marc Shapiro, Annette Bieniusa|arXiv (Cornell University)|Jan 19, 2018
Distributed systems and fault tolerance参考文献 22被引用数 6
ひとこと要約

本論文では、アプリケーションの不変条件に基づいて細粒度の整合性を適用することにより、可用性と安全性のバランスを取る、原理的で洗練された分散アプリケーション設計手法であるJust-Right Consistencyを提案する。CRDTを用いてAP互換性のある不変条件を扱い、トランザクション的因果整合性(Transactional Causal Consistency)をデフォルトのモデルとし、境界カウンタというデータ型と静的解析(CISE)を導入してCAP感受性のある不変条件を検証・強制することで、地理的に分散された環境においても大規模かつ正しく設計されたシステムを実現可能にする。

ABSTRACT

By the CAP Theorem, a distributed data storage system can ensure either Consistency under Partition (CP) or Availability under Partition (AP), but not both. This has led to a split between CP databases, in which updates are synchronous, and AP databases, where they are asynchronous. However, there is no inherent reason to treat all updates identically: simply, the system should be as available as possible, and synchronised just enough for the application to be correct. We offer a principled Just-Right Consistency approach to designing such applications, reconciling correctness with availability and performance, based on the following insights:(i) The Conflict-Free Replicated Data Type (CRDTs) data model supports asynchronous updates in an intuitive and principled way.(ii) Invariants involving joint or mutually-ordered updates are compatible with AP and can be guaranteed by Transactional Causal Consistency, the strongest consistency model that does not compromise availability. Regarding the remaining, "CAP-sensitive" invariants:(iii) For the common pattern of Bounded Counters, we provide encapsulated data type that is proven correct and is efficient; (iv) in the general case, static analysis can identify when synchronisation is not necessary for correctness.Our Antidote cloud database system supports CRDTs, Transactional Causal Consistency and the Bounded Counter data type. Support tools help design applications by static analysis and proof of CAP-sensitive invariants. This system supports industrial-grade applications and has been tested experimentally with hundreds of servers across several geo-distributed data centres.

研究の動機と目的

  • CAP定理における整合性と可用性のトレードオフを、モノリシックなモデルを強制するのではなく、アプリケーション固有の不変条件に基づいて調整することにより解決すること。
  • AP(障害時可用性)と整合する不変条件パターンを同定・形式化すること、特にCRDTやトランザクション的因果整合性がサポートするようなパターンを対象とする。
  • 境界カウンタのような一般的なCAP感受性パターンを、必要な同期を統合した形で事前にパッケージ化した解決策を提供すること。
  • アプリケーションの不変条件がAPセマンティクス下でも有効であるかどうかを形式的に検証できる静的解析ツール(CISE)の開発・実装により、グローバル同期の必要性を低減すること。

提案手法

  • コンフリクトフリー分散データ型(CRDT)を基盤とするデータモデルとして採用し、レプリカ間で直感的かつ収束的・非同期的な更新を可能にする。
  • 可用性を保証する強力な整合性モデルとして、トランザクション的因果整合性(TCC)を採用し、因果的に関連する更新が一貫した順序で可視化されることを保証する。
  • 境界カウンタという安全で封入されたCRDTとしてのデータ型を導入し、必要最小限の同期のみでAP環境下でも正しさを保証する。
  • CISEツールによる静的解析を活用し、3つの条件を検証する:個々の操作の正しさ、並行操作の収束性、並行実行下での事前条件の安定性。
  • CAP感受性のある不変条件が必要な場所でのみCPモードのトランザクションを許可するハイブリッド整合性をサポートし、パフォーマンスコストを最小限に抑える。
  • Antidoteデータベースシステムにすべてのコンponentsを統合し、CRDT、TCC、境界カウンタ、CISE検証をネイティブにサポートする。

実験結果

リサーチクエスチョン

  • RQ1APシステムにおいて、可用性や正しさを損なわずにアプリケーションレベルの不変条件を保持できるか?
  • RQ2どの不変条件パターンが、障害時可用性(AP)と本質的に整合するのか。また、グローバル同期なしにそれらを保証する方法は何か?
  • RQ3境界カウンタのような一般的なCAP感受性パターンを、正しさを保ちつつ同期のオーバーヘッドを最小限に抑える形でカプセル化するにはどうすればよいか?
  • RQ4静的解析を用いて、アプリケーションの不変条件がAPセマンティクス下でも有効であるかどうかを形式的に検証できるか。もしそうでない場合、どの操作が同期を必要とするか?
  • RQ5データベースシステムがCPとAPの二元論を回避する、原理的でアプリケーションに適合した整合性モデルをどの程度サポートできるか?

主な発見

  • CISE静的解析ツールは、並行更新下で事前条件のチェックが安定しない場合を正しく特定できており、FMKe薬物投与ユースケースの事例で、2つの並行する処方プロセス操作が不変条件の安全性を侵害していることが実証された。
  • 衝突する処方プロセス操作に同期を追加した後、CISEは不変条件が保持されていることを検証した。これにより、本手法が正しさの問題を検出し、解決できることの有効性が裏付けられた。
  • 境界カウンタデータ型は、形式的に正しい、効率的で封入された解決策を提供し、アプリケーションレベルの同期の必要性を最小限に抑える。
  • Antidoteにおけるトランザクション的因果整合性(TCC)の実装は、このモデルを完全にサポートする最初の本格的な生産環境向けデータベースシステムである。可用性をブロッキングせずに、強い整合性保証を実現している。
  • 本システムは、複数の地理的に分散されたデータセンターにまたがる数百台のサーバーを用いて実験的に検証され、産業規模での実現可能性とパフォーマンスを示した。
  • 形式的不変条件検証に基づき、必要な同期を丁度よい量だけ適用することで、APセマンティクス下でも正しさを達成できる。過剰でも不足でもない。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。