Skip to main content
QUICK REVIEW

[論文レビュー] Warp: Lightweight Multi-Key Transactions for Key-Value Stores

Robert Escriva, Bernard Wong|arXiv (Cornell University)|Sep 25, 2015
Peer-to-Peer Network Technologies参考文献 54被引用数 32
ひとこと要約

Warpは、シャーディングされたキー値ストアにおける軽量で可串な複数キー取引のための新しいプロトコル、非巡回的取引を提案する。データ依存のサーバーチェーンを動的に構築し、重複する取引の並列準備を可能にすることで、WarpはTPC-CにおいてSinfoniaのミニ取引よりも4倍のスループットを達成し、アボートなしで、非取引ストアの75%のスループットを達成する。

ABSTRACT

Traditional NoSQL systems scale by sharding data across multiple servers and by performing each operation on a small number of servers. Because transactions on multiple keys necessarily require coordination across multiple servers, NoSQL systems often explicitly avoid making transactional guarantees in order to avoid such coordination. Past work on transactional systems control this coordination by either increasing the granularity at which transactions are ordered, sacrificing serializability, or by making clock synchronicity assumptions. This paper presents a novel protocol for providing serializable transactions on top of a sharded data store. Called acyclic transactions, this protocol allows multiple transactions to prepare and commit simultaneously, improving concurrency in the system, while ensuring that no cycles form between concurrently-committing transactions. We have fully implemented acyclic transactions in a document store called Warp. Experiments show that Warp achieves 4 times higher throughput than Sinfonia's mini-transactions on the standard TPC-C benchmark with no aborts. Further, the system achieves 75% of the throughput of the non-transactional key-value store it builds upon.

研究の動機と目的

  • 従来の分散NoSQLシステムにおける複数キー取引のスケーラビリティとパフォーマンスの制限を解決すること。
  • 集中型トランザクションマネージャーのボトルネックと、シャーディングをまたぐ操作の協調コストを克服すること。
  • 静的解析や事前の取引知識、時計同期の必要性なしに、高い並列性と可串性を実現すること。
  • 非取引キー値ストアに近いパフォーマンスを実現しながら、複数キーにわたるACID保証を提供すること。
  • パーティショニング制約なしに一般用途で柔軟な取引ワークロードをサポートするシステムを設計すること。

提案手法

  • 重複するデータにアクセスする取引のみを順序付けする、コミットプロトコルとしての非巡回的取引を導入すること。
  • 各取引ごとにデータ依存のサーバーチェーンを動的に構築し、通信を削減し、中央集権的な協調ポイントを排除すること。
  • データ依存のチェーン内でのシリアル化を活用して、複数の重複する取引を同時に準備可能にすること。
  • クライアント側のコーディネータを用いてキーをサーバーにマッピングし、アプリケーションコードをサーバーに移動させずに取引フェーズを管理すること。
  • 楽観的検証と2段階コミットのセマンティクスを活用するが、動的な順序付けによって並列性を強化すること。
  • HyperDexを基盤とし、クライアントライブラリとコーディネータへの軽微な変更により、トランザクションセマンティクスを拡張すること。

実験結果

リサーチクエスチョン

  • RQ1集中的協調なしで、シャーディングされたキー値ストアにおける複数キー取引を高スケーラビリティかつ高パフォーマンスで実現できるか?
  • RQ2最小限の協調オーバーヘッドで、重複する取引の並列実行を可能にしつつ、可串性を達成できるか?
  • RQ3静的解析や事前の取引知識なしに、正しさと高い並列性を保証できるトランザクションプロトコルは可能か?
  • RQ4実世界のベンチマークにおいて、トランザクションパフォーマンスは非取引キー値ストアにどの程度近づけるか?
  • RQ5複雑な回復メカニズムに依存せず、クライアント障害を処理し、フェイルセーフを維持できるか?

主な発見

  • WarpはTPC-Cベンチマークにおいて、Sinfoniaのミニ取引よりも4倍のスループットを達成し、5倍の低レイテンシを実現した。
  • TPC-Cワークロード中、トランザクションのアボートはゼロであり、高い並列性と効果的な競合解決を示している。
  • Warpは、下位の非取引キー値ストアのスループットの75%を達成し、最小限のパフォーマンスペナルティを示している。
  • 非重複データや非重複時間間隔で動作する取引は、協調コストがゼロとなり、スケーラビリティが著しく向上する。
  • 非巡回的取引プロトコルにより、データ依存のサーバーチェーンを活用して、複数の重複する取引の並列準備が可能になった。
  • システムは負荷の増加に伴い良好にスケーリングされ、集中型トランザクションマネージャーや協調ポイントによるボトルネックなしに高いパフォーマンスを維持した。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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