Skip to main content
QUICK REVIEW

[論文レビュー] Apache Hive: From MapReduce to Enterprise-grade Big Data Warehousing

Jesús Camacho-Rodríguez, Ashutosh Singh Chauhan|arXiv (Cornell University)|Jan 1, 2019
Cloud Computing and Resource Management参考文献 38被引用数 6
ひとこと要約

この論文では、Apache Hiveが、ACIDトランザクション、Calciteによるコストベース最適化、TezおよびLLAPによる低遅延ランタイム、および多様なストレージシステム間のフェデレーテッドクエリ機能を統合することで、バッチ指向のETLツールからエントープライズグレードのデータウェアハウスへと進化したことを提示している。その結果、TBスケールのデータに対して1秒未塔の低遅延で処理可能な、スケーラブルでインタラクティブでSQL準拠のシステムが実現された。

ABSTRACT

Apache Hive is an open-source relational database system for analytic big-data workloads. In this paper we describe the key innovations on the journey from batch tool to fully fledged enterprise data warehousing system. We present a hybrid architecture that combines traditional MPP techniques with more recent big data and cloud concepts to achieve the scale and performance required by today's analytic applications. We explore the system by detailing enhancements along four main axis: Transactions, optimizer, runtime, and federation. We then provide experimental results to demonstrate the performance of the system for typical workloads and conclude with a look at the community roadmap.

研究の動機と目的

  • バッチETLツールとしてのApache Hiveを、完全なエントープライズデータウェアハウスシステムへと近代化すること。
  • ビッグデータ環境における低遅延でインタラクティブなSQLクエリの需要増加に応えること。
  • 更新可能なデータウェアハウスワークロード向けに完全なACIDトランザクションサポートを実現すること。
  • フェデレーションにより、異種のストレージシステム間でのクエリ実行を統一すること。
  • エントープライズワークロード向けに、クエリ最適化、ランタイム効率、システムスケーラビリティを強化すること。

提案手法

  • コストベース最適化と高度なSQL機能を可能にするために、コアクエリ最適化ツールとしてApache Calciteを統合した。
  • 遅延を低減し、クエリ実行の柔軟性を向上させるために、実行エンジンとしてMapReduceの代わりにApache Tezを導入した。
  • データをキャッシュし、コンテナ起動のオーバーヘッドを回避するために、永続的かつメモリ上に配置されたランタイム層としてLLAP(Low Latency Analytical Processing)を導入した。
  • SQLの完全なSQL-99準拠を実現するため、関係サブクエリ、整合性制約、高度なOLAP関数を拡張した。
  • スナップショット隔離を用いて、Hiveメタストア上で構築されたトランザクションマネージャーを介してACIDトランザクションを実装した。
  • ストレージハンドラの拡張とCalciteのリレーショナル代数の活用により、フェデレーションを強化し、外部システムに述語プッシュダウンや操作プッシュを可能にした。

実験結果

リサーチクエスチョン

  • RQ1Hiveは、Hadoopとの互換性を保ちつつ、スケーラビリティを維持したまま、ACIDトランザクションをどのようにサポートできるか?
  • RQ2ビッグデータ環境でクエリの遅延を低減し、インタラクティブアナリティクスを可能にするために、どのようなアーキテクチャ的変更が必要か?
  • RQ3SQL-on-Hadoopシステムにコストベース最適化を効果的に統合するには、どのようにすればクエリパフォーマンスを向上できるか?
  • RQ4複数のストレージシステムにまたがるクエリを、統一されたSQLインターフェースでシームレスにフェデレートするには、どのようなメカニズムが必要か?
  • RQ5コアの信頼性とスケーラビリティを損なわずに、バッチ処理ツールから完全な機能を備えたエントープライズデータウェアハウスへとHiveをどのように進化させられるか?

主な発見

  • LLAPを活用することで、TBスケールのデータに対して平均クエリ遅延が1秒未塔にまで低下し、インタラクティブでアドホックなクエリが可能になった。
  • Calciteとの統合により、クエリの再最適化やマテリアライズドビューの再書き換えといった高度な最適化技術が可能になり、クエリパフォーマンスが顕著に向上した。
  • Hiveメタストア上で構築されたトランザクションマネージャーを介してスナップショット隔離を用いたACIDトランザクションサポートが成功裏に実装され、アップサート、削除、マージが可能になった。
  • フェデレーテッドクエリ機能により、Kafka、HBase、クラウドストレージなどのシステムにシームレスにアクセスでき、プッシュダウン操作と統一されたSQLインターフェースが実現された。
  • ベクトル化実行と列指向ストレージによるランタイム改善で、ベンチマークワークロードにおいて処理時間が最大10倍短縮された。
  • コミュニティのロードマップには、複数文トランザクション、基数推定のための統計フィードバックの改善、およびマルチエンジン互換性を考慮したメタストアのスタンドアロンデプロイメントが含まれる。

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

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

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

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