[論文レビュー] Exploiting Opportunistic Physical Design in Large-scale Data Analytics
本稿では、MapReduce実行の副産物として生成される機会的マテリアライズドビューを活用することで、UDFを多く含むクエリにおける大規模データ分析の高速化を図る、新しいクエリリライトシステムを提案する。意味的UDFモデルとコストベースの、メトリック空間にインspiredされたリライトアルゴリズムを導入することで、平均して最大60%、複雑なワークロードでは最大10倍のクエリ実行時間短縮を達成する。
Large-scale systems, such as MapReduce and Hadoop, perform aggressive materialization of intermediate job results in order to support fault tolerance. When jobs correspond to exploratory queries submitted by data analysts, these materializations yield a large set of materialized views that typically capture common computation among successive queries from the same analyst, or even across queries of different analysts who test similar hypotheses. We propose to treat these views as an opportunistic physical design and use them for the purpose of query optimization. We develop a novel query-rewrite algorithm that addresses the two main challenges in this context: how to search the large space of rewrites, and how to reason about views that contain UDFs (a common feature in large-scale data analytics). The algorithm, which provably finds the minimum-cost rewrite, is inspired by nearest-neighbor searches in non-metric spaces. We present an extensive experimental study on real-world datasets with a prototype data-analytics system based on Hive. The results demonstrate that our approach can result in dramatic performance improvements on complex data-analysis queries, reducing total execution time by an average of 61% and up to two orders of magnitude.
研究の動機と目的
- 探索的で大規模なデータ分析において、繰り返し実行される複雑でUDFに依存するクエリの非効率性を是正すること。
- 任意のユーザー定義関数(UDF)を含んでも、過去のクエリの途中結果を効果的に再利用できることを可能にすること。
- マテリアライズドビューを用いた、膨大なリライトの可能性の空間を効率的に探索できるスケーラブルで効率的なクエリリライト機構の開発。
- 全列挙を避けながら最適なリライトを特定できる、コストベースで作業効率の良い探索戦略の提供。
提案手法
- 任意のコードを含むMapReduce UDFの意味的挙動を捉えるグレイボックスUDFモデルを提案し、完全な実行なしにその出力を推論可能にする。
- UDFモデルとクエリ/ビューのスキーマ構造に基づいて、潜在的なクエリ・ビューのリライトに関する下界コスト推定技術を導入。
- メトリック空間における最近傍探索にインspiredされたBfRewriteアルゴリズムを採用し、推定コストが低いビューを優先してリライト空間を段階的に探索。
- コストベースのプルーニングを用いて、有望でないリライトの探索を回避することで、ある仮定のもとで最適な結果を効率的に発見。
- Hiveベースのプロトタイプにリライトエンジンを統合し、複雑でUDFを多く含む実世界のデータセットとクエリを用いたパフォーマンス評価を実施。
- 既存のマテリアライズドビューを機会的物理設計として活用し、追加のストレージや計算オーバーヘッドを一切要しない。
実験結果
リサーチクエスチョン
- RQ1MapReduce実行中に生成されたマテリアライズドビューを、複雑で任意のUDFを含んでも、クエリリライトに効果的に活用できるか。
- RQ2完全な実行なしに、出力に関する意味的推論が可能なUDFのモデリング方法は何か。これにより、効率的なリライトコスト推定が可能になる。
- RQ3UDFとマテリアライズドビューを含む膨大なリライトの可能性の空間を、最適性を保証しながら効率的に探索するアルゴリズム的手法は何か。
- RQ4このようなシステムは、実世界のUDFを多く含む大規模データ分析ワークロードにおいて、実行時間をどの程度短縮できるか。
主な発見
- 提案されたシステムは、複雑でUDFを多く含む実世界のワークロードにおいて、平均してクエリ実行時間を61%短縮した。
- 最良のケースでは、元のクエリ実行と比較して最大10倍のパフォーマンス向上を達成した。
- 構文的に同一のビューが存在しない場合でも、本手法は有効であることが示され、ビューの多様性や不完全なビュー保持ポリシーに対しても頑健である。
- マテリアライズドビューの合計サイズが基本データに対して小さいことから、最小限のストレージオーバーヘッドで顕著なパフォーマンス向上を達成した。
- BfRewriteアルゴリズムは、コストの下界を用いて探索空間を効率的にプルーニングし、作業効率の良い方法で最適なリライトを発見できた。
- 従来の手法ReStoreやMRShare(構文マッチのみに依存し、意味的に類似しても構文的に異なるUDF間での結果再利用ができない)を包含する。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。