Skip to main content
QUICK REVIEW

[論文レビュー] MDCC: Multi-Data Center Consistency

Tim Kraska, Gene Pang|arXiv (Cornell University)|Mar 27, 2012
Scientific Computing and Data Management被引用数 4
ひとこと要約

MDCC は、一般化ペコスとクorumベースの調整を活用することで、通常ケースで1回のラウンドトリップメッセージ遅延での強力な一貫性を達成する、マスターレスで楽観的なコミットプロトコルを提示する。TPC-Wベンチマークにおいて、5か所の地理的に分散したデータセンターを対象に、2PCと比較してトランザクション遅延を50%削減(234 ms まで)し、スループットを2倍に向上させる。また、データセンター障害時でも一貫性を維持する。

ABSTRACT

Replicating data across multiple data centers not only allows moving the data closer to the user and, thus, reduces latency for applications, but also increases the availability in the event of a data center failure. Therefore, it is not surprising that companies like Google, Yahoo, and Netflix already replicate user data across geographically different regions. However, replication across data centers is expensive. Inter-data center network delays are in the hundreds of milliseconds and vary significantly. Synchronous wide-area replication is therefore considered to be unfeasible with strong consistency and current solutions either settle for asynchronous replication which implies the risk of losing data in the event of failures, restrict consistency to small partitions, or give up consistency entirely. With MDCC (Multi-Data Center Consistency), we describe the first optimistic commit protocol, that does not require a master or partitioning, and is strongly consistent at a cost similar to eventually consistent protocols. MDCC can commit transactions in a single round-trip across data centers in the normal operational case. We further propose a new programming model which empowers the application developer to handle longer and unpredictable latencies caused by inter-data center communication. Our evaluation using the TPC-W benchmark with MDCC deployed across 5 geographically diverse data centers shows that MDCC is able to achieve throughput and latency similar to eventually consistent quorum protocols and that MDCC is able to sustain a data center outage without a significant impact on response times while guaranteeing strong consistency.

研究の動機と目的

  • 広域ネットワークで、かつてないほど高いかつ変動しやすいデータセンター間遅延が生じるマルチデータセンター分散型データベースにおいて、強力な一貫性を達成する課題に対処すること。
  • 中央のコordinater やマスターノードに依存しないことで、障害に強い体制を実現すること。
  • 最終的に一貫性のあるシステムと同等のパフォーマンスコストで、強力な一貫性を保証するコミットプロトコルを設計すること。
  • 予測不能な遅延のピークに対応できるプログラミングモデルを提供し、ユーザーエクスペリエンスを低下させないこと。
  • 分散型、マスターレス環境において、整合性のとれた複数キーのトランザクションと、競合検出および値制約をサポートすること。

提案手法

  • MDCC は、通常ケースで1ラウンドトリップコミットを可能にする楽観的コミットプロトコルの基盤として、一般化ペコスを採用する。
  • 全データセンターのレプリカの過半数がコミットを承認することで、クorumベースのコミットを保証する。
  • 後続のトランザクションにコミット状態の通知を埋め込むことで、追加のラウンドトリップを回避し、効率を向上させる。
  • 書き込み同士の競合を検出するためのデマルケーションメカニズムを採用し、更新の紛失を防ぐ。
  • クorum読み取りと書き込みによる整合性の維持を通じて、値制約付きの可換更新を実現する。
  • アプリケーションにトランザクションの状態を通知するコールバックを備えた、SLOに配慮したプログラミングモデルを導入する。

実験結果

リサーチクエスチョン

  • RQ1マスターレスで楽観的なコミットプロトコルは、広域ネットワークで地理的に分散したマルチデータセンター環境において、1回のネットワークラウンドトリップで強力な一貫性を達成できるか?
  • RQ2複数キーのトランザクションに対して、クorumベースでマスターレスなコミットプロトコルに、効率的な競合検出と解決を統合できるか?
  • RQ3予測不能なデータセンター間遅延のピークに対応できるように、プログラミングモデルを設計できるか?
  • RQ4競合の可能性に応じて、高速ペコスモードとクラシックペコスモードを動的に切り替えることで、パフォーマンスをどの程度最適化できるか?
  • RQ5マスターレスな環境で、データセンター障害時にも強力な一貫性と可用性を維持しつつ、低遅延パフォーマンスを損なわないか?

主な発見

  • MDCC は、5か所の Amazon データセンターをカバーする TPC-W ベンチマークにおいて、2PC と比較してトランザクションあたりの遅延を 50% 削減し(234 ms まで)、性能を向上させる。
  • MDCC におけるトランザクションスループットは 2PC の2倍に達し、最終的に一貫性のあるクorumプロトコルと同等の高いパフォーマンスを実現する。
  • MDCC は、データセンター障害時でも強力な一貫性と可用性を維持し、応答時間への影響を最小限に抑える。
  • 通常ケースで1ラウンドトリップコミットを達成し、従来の2フェーズコミットと比較して顕著に遅延を低減する。
  • SLOに配慮したプログラミングモデルにより、高遅延メッセージによる待機中でも、アプリケーションがユーザーに迅速なフィードバックを提供できる。
  • MDCC は、完全に分散化され、マスターレスなアーキテクチャにおいて、整合性のある複数キーのトランザクションと競合検出、値制約の両方を成功裏にサポートする。

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

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

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

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