[論文レビュー] DualTable: A Hybrid Storage Model for Update Optimization in Hive
DualTable は、効率的なバッチスキャンのための HDFS と、高速なランダム書き込みのための HBase を組み合わせたハイブリッドストレージモデルであり、Hive が更新および削除操作を効率的に行えるようにし、クエリパフォーマンスを損なわずに実現する。実験の結果、標準の Hive よりも更新および削除操作を最大 10 倍高速化することが示された。
Hive is the most mature and prevalent data warehouse tool providing SQL-like interface in the Hadoop ecosystem. It is successfully used in many Internet companies and shows its value for big data processing in traditional industries. However, enterprise big data processing systems as in Smart Grid applications usually require complicated business logics and involve many data manipulation operations like updates and deletes. Hive cannot offer sufficient support for these while preserving high query performance. Hive using the Hadoop Distributed File System (HDFS) for storage cannot implement data manipulation efficiently and Hive on HBase suffers from poor query performance even though it can support faster data manipulation.There is a project based on Hive issue Hive-5317 to support update operations, but it has not been finished in Hive's latest version. Since this ACID compliant extension adopts same data storage format on HDFS, the update performance problem is not solved. In this paper, we propose a hybrid storage model called DualTable, which combines the efficient streaming reads of HDFS and the random write capability of HBase. Hive on DualTable provides better data manipulation support and preserves query performance at the same time. Experiments on a TPC-H data set and on a real smart grid data set show that Hive on DualTable is up to 10 times faster than Hive when executing update and delete operations.
研究の動機と目的
- エンタープライズ環境における従来の RDBMS への移行を妨げる、Hive における効率的な更新および削除操作のサポートの欠如に対処する。
- 複雑なエンタープライズワークロードに必要な高速な更新と高いクエリパフォーマンスを両立させるために、HDFS(ランダム書き込み不可)および HBase(バッチスキャンが遅い)の制限を克服する。
- コストとアクセスパターンに基づいて、データを HDFS または HBase に選択的に格納するストレージモデルを設計し、ミックスドワークロードにおけるパフォーマンス最適化を実現する。
- スマートグリッドアプリケーションに見られるように、データ操作操作の比率が高い複雑なストアドプロシージャを効率的に実行できるようにする。
- ACID 拡張の未完了な実装に依存せずに、Hive のスケーラビリティと低コストの展開を維持しながら、更新および削除の ACID ライクな機能を追加する。
提案手法
- DualTable は、新規レコードを効率的なバッチスキャンのために HDFS に書き込み、更新をランダム書き込みの効率性を活かして HBase に delta レコードとして格納するハイブリッドストレージアーキテクチャを採用する。
- 動的コストモデルが、ワークロードの特性とパフォーマンスのトレードオフに基づき、各データ変更の最適なストレージ場所(HDFS または HBase)を決定する。
- システムは、HDFS や HBase に変更を適用することで UPDATE および DELETE 操作をサポートし、クエリエンジンが両方のストレージレイヤーに透明にアクセスできるようにクエリを再書き込みする。
- Hive の実行エンジンと統合されており、標準の HiveQL クエリがスキーマやクエリの変更なしに HDFS および HBase の両方からのデータにアクセスできる。
- システムは、クエリの再書き換えや DAG 構造最適化などの既存の Hive 最適化技術を活用して、全体の実行効率を向上させる。
- HDFS への INSERT OVERWRITE と HBase での直接 DML 操作をサポートすることで、フルファイルの再書き込みに比べて I/O オーバーヘッドを最小限に抑えるインクリメンタルなデータ操作を実現する。
実験結果
リサーチクエスチョン
- RQ1Hive がバッチクエリパフォーマンスを損なわずに、更新および削除操作を効率的に行うにはどうすればよいか?
- RQ2混合分析的および運用的ワークロードに適した、HDFS(高速スキャン)と HBase(高速ランダム書き込み)の長所をバランスさせるハイブリッドストレージ戦略は何か?
- RQ3コストベースの動的ルーティングメカニズムは、I/O と実行時間を最小限に抑えるために、更新を HDFS または HBase に格納するかを効果的に決定できるか?
- RQ4提案された DualTable モデルは、データ操作操作の比率が高い実世界のエンタープライズワークロードでどの程度のパフォーマンスを示すか?
- RQ5Hive の現在の INSERT OVERWRITE ベースの更新パターンと比較して、DualTable は I/O オーバーヘッドをどの程度低減できるか?
主な発見
- 同じハードウェア上で標準の Hive よりも、DualTable は更新および削除操作を最大 10 倍高速化する。特に複雑なワークロードで顕著である。
- TPC-H ベンチマークおよび実際のスマートグリッドデータにおいて、DualTable は更新集約的なシナリオで Hive を著しく上回り、実行時間を数時間から数分に短縮する。
- 読み込み中心の操作では HDFS の効率的なバッチスキャンを活用することで、ハイブリッドモデルは高いクエリパフォーマンスを維持する。
- コストベースのルーティングメカニズムは、書き込みパフォーマンスとクエリ効率のバランスを効果的にとらえ、不要なデータ移動を最小限に抑える。
- 小さな更新に対してフルファイルの再書き込みを回避することで、従来の Hive の更新パターンにおける主なボトルネックである I/O オーバーヘッドを削減する。
- DualTable は、1700 万件を超えるスマートメーターと月間 600 億件の測定データを扱うスマートグリッドのようなエンタープライズスケールのアプリケーションが、厳密な時間枠(例:午前 1 時~午前 7 時)内に複雑なストアドプロシージャを完了できるようにする。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。