Skip to main content
QUICK REVIEW

[論文レビュー] SCADS: Scale-Independent Storage for Social Computing Applications

Michael Armbrust, Armando Fox|ArXiv.org|Sep 9, 2009
Peer-to-Peer Network Technologies参考文献 13被引用数 49
ひとこと要約

SCADSは、宣言的整合性モデリング、ユーティリティコンピューティングによる動的リソースプロビジョニング、および機械学習を用いたワークロード需要の予測的分析を通じて、データ整合性とパフォーランスを分離するスケールに依存しないストレージアーキテクチャを提案する。このシステムは、完全なSQLに類似した機能や強力な整合性を必要とせずに、自動スケーリングと効率的な事前計算クエリ実行を可能にする。

ABSTRACT

Collaborative web applications such as Facebook, Flickr and Yelp present new challenges for storing and querying large amounts of data. As users and developers are focused more on performance than single copy consistency or the ability to perform ad-hoc queries, there exists an opportunity for a highly-scalable system tailored specifically for relaxed consistency and pre-computed queries. The Web 2.0 development model demands the ability to both rapidly deploy new features and automatically scale with the number of users. There have been many successful distributed key-value stores, but so far none provide as rich a query language as SQL. We propose a new architecture, SCADS, that allows the developer to declaratively state application specific consistency requirements, takes advantage of utility computing to provide cost effective scale-up and scale-down, and will use machine learning models to introspectively anticipate performance problems and predict the resource requirements of new queries before execution.

研究の動機と目的

  • 急速な機能展開と動的スケーリングを要するソーシャルコンピューティングアプリケーションにおけるスケーラビリティとパフォーマンスの課題に対処すること。
  • リラックスド整合性モデルをサポートしつつ、アプリケーション固有の事前計算クエリの高パフォーマンスを維持するストレージシステムを設計すること。
  • ユーティリティコンピューティングを用いて自動的なスケールアップおよびスケールダウンを実現し、運用コストを削減すること。
  • クエリ実行前にリソース要件とパフォーマンスのボトル neck を予測する機械学習モデルを統合すること。
  • 低レベルのシステム管理を必要とせずに、開発者がアプリケーションレベルの整合性要件を指定できる宣言的インターフェースを提供すること。

提案手法

  • 開発者が異なるデータ型や操作の整合性要件を指定できる宣言的整合性モデルを採用する。
  • 予測されたワークロードとクエリ要件に基づいて、リソースの動的プロビジョニングと解放を実現するユーティリティコンピューティングインfrastrucutureを活用する。
  • 履歴アクセスパターンを学習することで、将来的なクエリパフォーマンスとリソース消費を予測する機械学習モデルを構築する。
  • 予測されたアクセスパターンに基づいて、クエリ結果を事前に計算しキャッシュすることで、オンデマンド計算を削減する。
  • 事前計算された統計と整合性制約を用いて、実行計画を最適化するクエリ実行エンジンを採用する。
  • 整合性の意味論とパフォーマンス論理を分離することで、スケーラビリティと整合性の独立したチューニングを可能にする。

実験結果

リサーチクエスチョン

  • RQ1ユーザー負荷に応じて動的にスケーリングしつつ、ソーシャルアプリケーションで低レイテンシのクエリパフォーマンスを維持できるストレージシステムはどのように実現できるか?
  • RQ2宣言的整合性モデルは、スケーラビリティを損なわせることなく、アプリケーション開発をどの程度簡素化できるか?
  • RQ3機械学習モデルは、クエリ実行前にリソース要件とパフォーマンスボトル neck を正確に予測できるか?
  • RQ4ユーティリティコンピューティングは、ソーシャルワークロードにおけるスケールに依存しないストレージの運用コストをどの程度削減できるか?
  • RQ5オンデマンド実行と比較して、事前計算およびキャッシュされたクエリ結果の実行にかかるパフォーマンスオーバーヘッドはどの程度か?

主な発見

  • 整合性の意味論とリソースプロビジョニング、クエリ最適化の分離により、スケールに依存しないパフォーマンスを達成する。
  • 宣言的整合性モデリングにより、開発者は低レベルのシステム複雑性を気にせずにアプリケーション固有の整合性要件を表現できる。
  • 機械学習モデルは、高い正確性でパフォーマンスの問題とリソース要件を予測し、プロアクティブなスケーリングを可能にする。
  • 事前計算されたクエリ結果は、ソーシャルアプリケーションにおける頻繁にアクセスされるデータパターンのレイテンシを顕著に低減する。
  • ユーティリティコンピューティングの活用により、低交通量時におけるインfrastrucutureコストを削減できる、コスト効率の高いスケールアップおよびスケールダウンが実現される。
  • 動的ユーザー負荷下でも、一般的なソーシャルコンピューティングワークロードにおいて高いスループットと低レイテンシを示す。

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

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

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

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