IT Cutting Edge ─世界を変えるテクノロジの最前線

第6回 Hiveでボトルネックとなってきたメタデータ,HBaseを使ってレイテンシの改善に挑む ―「Hadoop Summit 2016 San Jose」から

この記事を読むのに必要な時間:およそ 3 分

2016年6/28~6/30(米国時間)の3日間に渡って米サンノゼで開催された「Hadoop Summit 2016 San Jose」⁠主催: Hortornworks/Yahoo!)では,2016年のHadoopトレンドを紹介する数多くの技術/事例セッションが行われました。本稿ではそのひとつ,Hortonwokrsによるセッション「hive HBase Metastore - Improving Hive with a Big Data Metadata Storage」をもとに,HiveのメタデータをHBaseでストアすることでHiveの低レイテンシ化を図る技術について紹介します。

Hiveのメタデータを保管する「メタストア」とは?

HadoopのデータをMapReduceではなく,多くのユーザが慣れ親しんだSQLで扱う,いわゆる"SQL-on-Hadoop"な技術の先駆けとして,いまも高い人気を誇るのがHiveです。最近ではSpark SQLやPrestoなどの勢いにやや押されがちなところもありますが,生みの親であるFacebookでの導入実績やコミュニティの活発さなどを見ると,やはりSQL-on-Hadoopのデファクトスタンダードと呼ぶにはHiveがもっともふさわしい技術であるように思えます。

現在,Hadoopとそのエコシステムはかつてのバッチオリエンテッドなソリューションとしての位置づけから大きく進化し,リアルタイム性を強く指向するようになっています。Sparkの急速な台頭はまさにそのあらわれであり,高い精度とパフォーマンスの両立が当然のように期待されるようになりました。

そうした中,高スループットなバッチ処理を前提に開発された技術であるHiveは,低レイテンシという観点からはやや不利な状況にあるのは事実です。このためHiveプロジェクトでは,Hiveのパフォーマンス向上を図るための取り組みが数多く行われてきました。カラムナ型ストレージのサポートやオプティマイザの改善などはその一環であり,結果,初期のころに比べるとHive自体のパフォーマンスは100倍以上も速くなっています。さらにHortonworksなどが中心となってStingerやLLAP(Live Long and Process)といったHiveの低レイテンシ化を実現するための技術も開発されており,⁠Hiveは遅い」という認識はすこしずつあらためられてきているようにも思えます。

しかしここにきて,Hive自身のパフォーマンス強化だけでは追いつかない問題が表面化するようになりました。それが「メタストア(metastore)⁠の存在です。

Hiveはテーブルやパーティション,ロールなどのメタデータをメタストアというデータで保持しています。メタストア自体はリポジトリとして外部のMySQLやPostgreSQL,OracleなどのRDBMSを利用するしくみになっており,これによってHiveはメタデータやスキーマの管理に煩わされる手間から解放されています。なお,ネットワーク経由でメタストアデータベースに接続する際には,Hiveクライアントとメタストアの間にThriftサーバをプロキシのようにはさんで利用しますが,これ以外にもHive内部に組み込まれているDerby DBをメタストアとして利用することも可能です。

メタストアはHiveアーキテクチャの最大の要でもあり,Spark SQLやDrillなど他のSQL-on-Hadoopな技術もHiveのメタストアとの統合や連携を重視ししています。しかし,扱うべきデータ量の増大は当然ながらメタデータの量も爆発的に増加させることになり,Hiveアプリケーションの実行において「メタストアのプランニングタイムが無視できないレベルになりつつある。とくにメタデータのフェッチに費やす時間が非常に長くなっている」⁠Hortonworks)というケースが目立つようになりました。Hive本体のパフォーマンス強化に加え,メタストア周りを見直さないとレイテンシの課題は解決しにくくなっているといえます。

Hiveメタストアにおけるプランニングタイムの割合は上昇傾向にある(グラフの青い部分)

Hiveメタストアにおけるプランニングタイムの割合は上昇傾向にある(グラフの青い部分)

メタデータの増大は,レイテンシのほかにもスケーラビリティや複雑性の問題をHiveにもたらしています。⁠メタデータが増えるほどに,パーティションの数も増大する。また新しいタイプのメタデータ(splitの情報,ORCのRawGroupのインデックス情報など)が登場し,コールの数も増えている。⁠メタデータの)サイズも種類も発生頻度も昔とは比較にならない」⁠既存のORモデリングではもはや整合性を保てない」⁠Hortonworks)など,Hiveは現在,メタデータ自身の"ビッグデータ化"向き合う必要性に迫られているのです。

著者プロフィール

五味明子(ごみあきこ)

IT系の出版社で編集者としてキャリアを積んだ後,2011年からフリーランスライターに。フィールドワークはオープンソースやクラウドコンピューティング,データアナリティクスなどエンタープライズITが中心。海外カンファレンス取材多め。Twitter(@g3akk)やFacebookで日々IT情報を発信中。

北海道札幌市出身/東京都立大学経済学部卒。

バックナンバー

IT Cutting Edge ─世界を変えるテクノロジの最前線

バックナンバー一覧

コメント

コメントの記入