AWSがHadoopビッグデータのクェリツールImpalaをサポート

Amazon Web ServicesにImpalaのサポートが加わった。これはClouderaがGoogleに倣って開発したクェリツールで、大量のデータを並列処理によりリアルタイムで処理する。Impalaでは、デベロッパがAWSのElastic MapReduceの上で、SQLふうの言語を使ってクェリを行える。それは高速でアクセス性も良く、オープンソースの分散コンピューティングシステムHadoopでSQLの利用が増えていることを示す一つの例でもある。またImpalaは、より広い視野で見ると、この市場ではGoogleの影響がとても大きいことを示す例の一つでもあり、新しいデータプラットホームや従来よりもリッチなアプリケーションエコシステムを作ろうとする人たちの多くが、Googleの先行製品を参考にしている。

昨年世に出たImpalaの場合は、GoogleのDremelがベースだ。これはビッグデータ分析におけるGoogleの先駆的製品、広大なクラウド宇宙の全域にわたって保存されているデータをクェリするMapReduceの後継製品で、GoogleのPM William Vambenepeによれば、DremelはGoogleのデータ分析プラットホームBig Queryのベースでもある。Hortonworksが発表したTezは、同社のStingerプロジェクトの一環で、HadoopをクェリするデータベースHiveを使用する。Hortonworksによると、Stingerは通常のSQL文によるクェリをペタバイトクラスの大規模データに対し、従来の100倍のスピードで実行する。

Citus Dataの分析データベースも、やはりGoogle Dremelがベースだ。これはPostgreSQLデータベースに対する並列処理で高速なクェリを行う。またMapRはApache Drillを使って大量データに対する高速クェリを提供する。そしてHadoopをベースとする分析データベースJethroDataも、Google Dremelのやり方に倣っている。

“Adaptive Analytical Platform”でこれらすべての企業/製品に先行するHadaptは、オープンソースのApache HadoopにSQLのネイティブ実装を持ち込んでいる。

Dremelの大きな影響力の理由

Hadoopは、ペタバイトのオーダーでデータを処理するTwitterのようなインターネット企業にとって重要な技術だ。また既存の企業にとっても、昨今はデータの量がこれまでになく増加しているので、Hadoopのありがたみが増している。Impalaは、こういった新世代のデータユーザに、利便を提供する。Impalaを使えば、高度な専門技術がなくても、データをクェリできるのだ。

これまでのHadoopは、高度な知識能力を持つ専門技術者でないと扱えないしろものだった。そういう人たちは初期のデータサイエンティストと呼ばれ、プログラミングの能力とクラスタの管理能力、そしてデータ分析の技術を持っていた。そういうビッグデータ技術者たちは、大量のデータをそれぞれ独自のやり方で処理し分析していたインターネット企業から巣立ってきた。たとえばJeff Hammerbacherは、Facebookを辞めてClouderaの協同ファウンダになった。Yahoo!でApache Luceneを使ってオープンソースの検索エンジンを作っていたDoug Cuttingは、そのプロジェクトのためにHadoopを作って利用した。Luceneも、その初期の作者がCuttingだ。そのCuttingも、今ではClouderaで仕事をしている。

Googleは、MapReduceで先陣を切った。それは、ノードの集合を、データを並列処理するためのクラスタとして扱った。複数のクラスタに亙ってデータをマップし、それを縮小(reduce)して答えを得た。

そしてそのMapReduceを超える技術であるGoogle Dremelは、次世代のHadoop技術の柱となる製品だ。それは、そのほかの、HivePigといったオープンソースのプロジェクトとともに、成長し続けるエコシステムを形成し、それらが一体となって、より高級な言語でMapReduceの複雑さ~難解さを抽象化する。

Dremelの強みは、データ分析がバッチでなくリアルタイムの瞬時であることだ。しかしそれは最初、Googleの…主にオンライン広告のための…大規模な関係データベースGoogle F1をクェリすることを、目的として開発された。

ImpalaもDremel同様、その分析能力が売りだ。したがってそれは、ビジネスインテリジェンス(BI)のための視覚化技術Tableauなどの、補完製品とみなされることが多い。Impalaでデータを迅速にクェリし、その結果をBIツールが利用するのだ。

Hadoopそのものは、アプリケーション開発のためのプラットホームではない。しかしImpalaのようなアプリケーションに奉仕するツールの普及および多様化に伴って、Hadoopがアプリケーションのベースとなる機会が今後ますます増えるだろう。たとえば今年の初めに発表されたHadoopの最新バージョンでは、MapReduceを抽象化してスケジューラやリソースマネージャとして使うYarnの新バージョンが同梱された。これによって、それまでのHadoopでは難しかったスケーリングが可能になる。

Hadoopから生まれるアプリケーションのエコシステムは、すでにImpalaやYarnにその兆しがある。どちらのツールもHadoopの外見を単純化し、エンドユーザ(アプリケーションデベロッパ~BIユーザ)の能力を深化する。またConcurrentが商用化したHadoopのためのアプリケーションフレームワークCascadingがある。TwitterEtsyAirbnbなどが、その顧客として名を連ねている。

この市場(ビッグデータアプリケーション市場)は、長年Googleが先頭を走ってきた。しかしHadoopとプラットホームレイヤのイノベーションにより、Googleと後発グループとの差は縮まりつつある。

画像提供: Electric Sheep, Creative Commonsによる)

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))