dremel

ApacheがGoogleのリアルタイムビッグデータツールDremelのオープンソースクローンDrillを

次の記事

日本製のテープカッターはテープを一定の長さに切れる

google_logo

Googleには、今さら言うまでもなく、大量のデータがあり、それらを扱うためのツールを数多く作ってきた。中でもとくに有力な製品として、MapReduceやGoogleFSはオープンソースのApache Hadoopを生み、BigTableはApache HBaseを孵(かえ)した。

でも、それで終わりではない。同社はその後もビッグデータを処理するためのツールを作り続け、それらに関する論文やドキュメントを次々と公開してきた。中でもDremelは、GoogleFSとBigTableに保存されている巨大なデータ集合のクェリを高速化する。Hadoop上のMapReduceのバッチジョブで数時間あるいは数日かかる処理も、Dremelではほとんど一瞬で結果が得られる*。〔*: Dremel, ホビー用の万能電動工具。〕

そのDremelをオープンソース化する取り組みが、Apache Drillだ。これは最近、Apache Incubatorの育成事業に認定された。サポートを提供するMapRは、Hadoopに同社独自の尾ひれを付けた製品を売っている企業だ。

オープンソースのリアルタイムビッグデータシステムとして、ほかにもStormなどがある。StormはBacktypeが開発しTwitterがオープンソース化した。またApache S4は、Yahooがオープンソース化した製品だ。最近はとくにStormが注目されていて、そのクラウドからホストされるバージョンを最近Nodeableが立ち上げた

NodeableのCEO Dave Rosenbergによると、Dremelとそのほかのリアルタイムビッグデータシステム(StormやS4など)との大きな違いは、後者がストリーミングエンジンであるのに対し、Dremelはアドホックなクェリを扱うので、検索結果がとてもはやく出ることだ。

Hadoopはバッチ処理で、既存のデータ集合へのクェリを行う。ストリーミングエンジンは、今どんどん入ってくるデータを処理する。ここでは、“ストリーミング”と“リアルタイム”がほぼ同じ意味だが、Dremel/Drillのリアルタイムは、やや意味が違う。

“理想はアドホックでリアルタイムな処理だが、それには克服すべき課題も多い”、とStormを採ったRosenbergは言う。“われわれから見ると、リアルタイムの計算処理は技術的には困難だが価値も高く、実用用途も多い。しかしユーザはつねに、データに対するクェリの実行を欲する。だから少なくとも当面は、計算処理上の(スピードの)優位よりも、遅くてもいいからとりあえずクェリができることが、優先される”。

Dremelのオープンソース化努力として、ほかにOpenDremelがある。また、ビッグデータに対する高速クェリのプロジェクトとしては、Apache CouchDBや、そのCloudant製私家版BigCouchがある(後者はクラスター化による高可用性を喧伝している)。

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