Skip to main content
QUICK REVIEW

[論文レビュー] Yesquel: scalable SQL storage for Web applications

Marcos K. Aguilera, Joshua B. Leners|arXiv (Cornell University)|Nov 8, 2014
Advanced Database Systems and Queries参考文献 11被引用数 5
ひとこと要約

Yesquel は、Web アプリケーション向けにスケーラブルで SQL 互換性を持つストレージシステムであり、SQL の豊富なクエリ機能と NoSQL システムのパフォーマンスおよびスケーラビリティを組み合わせる。これは、クライアントごとにクエリプロセッサを埋め込み、トランザクションキーバリュー ストレージレイヤーの上に構築された分散バランス木 (DBT) を使用することで達成され、完全な SQL サポートと効率的な分散実行を備えた高スルーレートで低遅延のトランザクション処理を可能にする。

ABSTRACT

Based on a brief history of the storage systems for Web applications, we motivate the need for a new storage system. We then describe the architecture of such a system, called Yesquel. Yesquel supports the SQL query language and offers performance similar to NOSQL storage systems.

研究の動機と目的

  • 高ボリュームで低遅延なワークロードを処理する現代の Web アプリケーションにおいて、従来の SQL データベースのスケーラビリティとパフォーマンスの制限を克服すること。
  • NoSQL システムに内在する機能性とスケーラビリティのトレードオフを克服し、パフォーマンスを犠牲にせずに完全な SQL サポートを提供すること。
  • 標準化された SQL インターフェースを通じてアプリケーションのストレージシステム間でのポータビリティを可能にすることで、ベンダーロックインを排除すること。
  • 複雑な集中型制御機構やハードウェアクロックに依存せずに、分散トランザクションとスケーラブルなクエリ処理を実現するシステムの設計。
  • Web ワークロードに一般的な小規模で頻繁なクエリの効率的かつ低遅延な実行を実現するため、クエリ処理をストレージレイヤーと密接に統合すること。

提案手法

  • 各アプリケーションインスタンスに軽量なクライアントサイドクエリプロセッサを埋め込み、クエリ処理容量を水平方向にスケーリングする。
  • 負荷分散とパフォーマンスを実現するため、複数のストレージサーバーに分散配置された分散バランス木 (DBT) データ構造を基本ストレージエンジンとして使用する。
  • 最低レベルで分散 ACID トランザクションを提供するトランザクションキーバリュー ストレージシステムの上に DBT を構築する。
  • 分散トランザクションを活用して、すべての DBT 操作の整合性と分離性を保証し、効率的かつ正しく並列アクセスを可能にする。
  • SQL クエリを DBT 上の操作にマッピングし、それらを下位のトランザクションストレージレイヤーでのキーバリュー操作に変換する。
  • 特別なハードウェアクロックを必要としない分散トランザクションプロトコルを設計することで、導入の容易さを高め、インfra 構成の複雑さを低減する。

実験結果

リサーチクエスチョン

  • RQ1SQL ベースのストレージシステムは、完全な SQL 機能を維持しながら、NoSQL システムと同等のパフォーマンスを達成できるか?
  • RQ2分散トランザクションを B ツリーに類似したデータ構造に効率的に統合することで、整合性とスケーラビリティを確保できるか?
  • RQ3水平方向のクエリ処理スケーリングと分散ストレージノード間の効率的協調を可能にするアーキテクチャパターンは何か?
  • RQ4クライアントにクエリプロセッサを埋め込むことで、Web スケールのワークロードにおけるシステム全体のボトルネックをどれほど低減でき、スルーレートを向上できるか?
  • RQ5分散環境において従来の RDBMS が負う典型的なパフォーマンスペナルティを回避しながら、完全な SQL サポートを提供できるか?

主な発見

  • Yesquel は、完全な SQL クエリ言語をサポートしながら、NoSQL キーバリュー システムと同等のパフォーマンスを達成しており、ジョイン、集計、セカンドリインデックスなどの豊富な操作を可能にしている。
  • クライアント内に埋め込まれたクエリプロセッサアーキテクチャにより、システムはクライアント数に比例してクエリ処理容量を線形にスケーリングでき、中央集権的なボトルネックを回避している。
  • 分散トランザクションを最低レイヤーに配置することで、Yesquel は DBT が整合性のためのトランザクション保証を活用でき、正しさが向上し、データ管理が簡素化されている。
  • 特別なハードウェアクロックに依存しないため、正確な時刻同期を要しない標準データセンタ環境でも導入可能である。
  • 標準 SQL をインターフェースとして使用することで、ベンダーロックインを低減し、アプリケーションを最小限の再作業で異なるシステムに移行可能にしている。
  • クライアントサイドクエリ処理とトランザクションキーバリュー基盤の組み合わせにより、Web アプリケーションで一般的な小規模で頻繁なクエリの低遅延実行が可能になっている。

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

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

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

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