大量データのバッチ処理を高速化するHadoop
Hadoopはどのように活用されている?
Hadoopプロジェクトは、オープンソースのテキスト検索エンジンLuceneと、Luceneを利用したWeb検索エンジンNutchの中心的な開発者、Doug Cutting氏らによって2006年に立ち上げられました。彼らは、米Googleが発表した論文のアイディアをもとに、Nutchを数十億のWebページに対応させる取り組みを始めました。この動きに米Yahoo!が興味を持ち、Nutchから分散バッチ処理システムとして汎用的に利用できる部分を切り離して、独立したHadoopプロジェクトとして立ち上がりました。
このような経緯から、米Yahoo!はHadoopの最大のユーザーとなっており、1万コアを超える規模のHadoopクラスタによって検索インデックスが実際に作られていることが報告されています。しかしながら、現在では米Yahoo!以外の多数の企業にもHadoopが急速に普及しつつあります。
世界最大のSNSサービスを運営している米Facebookは、サービスの基幹機能にHadoopを利用しており、世界で2番目に大きいHadoopクラスタを運用しています。例えば、膨大なアクセス・ログの解析や広告効果の測定など、膨大な計算能力が要求される処理にHadoopが活用されています。また、Hadoopによるバッチ処理ロジックをSQLに似た言語で簡単に書くことができるHiveというミドルウエアを開発し、Hadoopのサブプロジェクトとして一般に公開しています。
米New York Timesでは、米Amazon.comのパブリック・クラウド・サービスEC2上でHadoopを動かし、過去記事をスキャンした4テラバイトものデータをPDFに変換する処理を実現しています。この処理には100台のマシンが使われ、24時間以内で全データを処理することができたそうです。
Webサービス以外にも適用領域は広がりつつあります。金融分野でも、米VISAや米JP Morgan、三菱東京UFJ銀行などがHadoopを活用した取り組みを進めています。米VISAでは、2年間で蓄積された約700億トランザクション・ログを処理するため、従来はリレーショナル・データベースを用いて約1カ月を要していたところ、Hadoopを用いることで約13分に短縮できたことを報告しています。
このように、膨大な情報を効率的に処理するための新たなインフラとして、Hadoopは徐々に広まりつつあります。次回記事では、Hadoopがどのような仕組みでスケール・アウト性を実現しているのかを解説します。