「Hadoop」は、米Google社が考案した分散データ処理技術「MapReduce」をオープンソース・ソフトウエアで再実装したものです。Web系企業では、ユーザーのアクセスから得られる膨大なデータを解析するツールとして定着が進んでいます。最近ではWeb系以外の一般企業でもHadoopの活用が検討されてきています。

 今回は、企業システムでHadoopを利用する意義と、ペタバイト・クラスのデータ処理を実現するHadoopの実装を解説します。

Google論文の衝撃

 HadoopやMapReduceは「安価なサーバーで大量のデータを高速処理」「バッチの処理時間が劇的に短縮」などと紹介されています。とても高度な技術ととらえている方もいるかもしれませんが、実はそれほど複雑なものではありません。

 MapReduceは、Googleが2004年に論文(http://labs.google.com/papers/mapreduce.html)で公開した、多数のサーバーでデータを並列処理するための仕組みです。多数のサーバーでデータを解析する方法は、HPCクラスタと呼ばれる技術がスーパーコンピュータの世界で研究されてきましたが、素粒子物理学や気象予報などの複雑なデータ解析に利用されるHPCクラスタと比較すると、MapReduceのデータ解析は意外なほど単純です。

 Googleでは、様々なWebサイトから収集したHTML文書を解析するためにMapReduceを利用しています。同社の論文には図1のような処理が記載されています。基本的には、収集したデータを順番に調べていくシンプルなバッチ処理にMapReduceを利用しているようです。

図1●GoogleでのMapReduceの使用例
図1●GoogleでのMapReduceの使用例

 それでは、なぜ、この論文が世の中に衝撃を与えたのでしょうか?答えはGoogleが扱うデータ量にあります。論文には、2004年8月の1カ月だけで、3ペタバイト以上のデータをMapReduceで処理したと記されています。一般企業のシステムでは1テラバイトのデータを扱うだけでも大変なことですから、当時、3ペタバイトのデータを処理しようとは、考える人もいなかったかも知れません。

 このように、「単純な処理であっても、想像もしなかった量のデータを対象とすることで、新しい価値を生み出せる」ということを示した点が、Googleの論文、そして、MapReduceに隠された意義なのです。Googleの検索エンジンが日々生み出す価値に、疑問の予知はないでしょう。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら