連載
» 2012年12月07日 16時25分 公開

Databaseテクノロジレポート:Hadoop用リアルタイムクエリエンジン Impalaのポテンシャルをレビューした (4/4)

[須田幸憲/セラン, 柏崎輝/ディレクターズ,@IT]
前のページへ 1|2|3|4       

ベンチマーク結果

 Hadoop MapReduce+HiveとImpalaのそれぞれの場合について、ベンチマークした結果を表2と表3に示します。平均処理時間は5回測定した平均値です。


表2 Hadoop MapReduce+Hiveのベンチマーク結果

表3 impalaのベンチマーク結果

 Hadoop MapReduce+Hiveで最も高速に処理できたのは、Snappyで圧縮されたRCFileの場合で約164秒でした。一方、Impalaで最も高速に処理できたのは、Gzipで圧縮されたSequenceFileの場合で約20秒でした。つまり、最も処理時間が短い組み合わせ同士を比較すると、ImpalaはHadoop MaReduce+Hiveよりも8倍以上も高速に処理できました。

まとめ:アドホックなクエリ処理には十分、ただし処理データの設計には注意

 今回、ClouderaからリリースされたImpalaとHadoop MapReduce+Hiveの性能比較を行いました。

 HiBenchというベンチマークツールを使用し、15台のクラスタ構成でSELECTクエリの処理時間でベンチマークした結果、Impalaは、まだβ版である現段階でもHadoop MapReduce+Hiveよりも8倍高速にクエリを処理できることが分かりました。

 今後、CDH5にパッケージングされる見込みのImpalaの正式版では、Hiveストレージフォーマットとして、カラム指向の「Trevni」や「RCFile」がサポートされる予定です*7。そのため、今回のベンチマーク結果よりもさらに高速に処理できることが期待できます。

 一方、手動によるアドホックなクエリを実行する分には、現状のβ版でも十分に利用できますので、もし現状のHadoop MapReduce+Hiveの処理時間が業務遂行上のボトルネックとなっているのであれば、利用を検討する価値はあるかもしれません。

 ただし、高速な処理性能を維持する点では注意が必要です。

 今回の検証では、1億レコードのテーブルを利用してベンチマークを行いましたが、実はHiBenchのデフォルト設定で生成される10億レコードのテーブルを利用したベンチマークも少しだけ試しました。そのベンチマークではスワップ処理が頻発したため、ImpalaはHadoop MapReduce+Hiveよりも2倍程度しか高速に処理できませんでした。

 このことから、テーブルのレコード数が増えれば、もっと差が縮まると予想されます。つまり、高速な処理性能を安定して維持するためには、処理対象となるデータ量に応じてクラスタを設計・構築する必要があるといえます。

*7 本稿*1を参照。


筆者紹介

須田幸憲/セラン

2012年8月に株式会社セランに入社、現在、R&D戦略室所属。

アクセス解析・広告効果測定サービスMOBYLOGで収集したアクセスログを活用した新サービス企画・立案に従事

Twitter ID:@sudabon


柏崎輝/ディレクターズ

平成元年生まれ。2012年4月に株式会社ディレクターズにサーバエンジニアとして入社。

趣味は「自宅サーバ」。

Twitter ID: @k_teru


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。