図●Hadoopを構成する主要ソフトウエア
[画像のクリックで拡大表示]

 ヤフーが日本独自の検索関連サービスの開発で、オープンソースの分散処理ソフトである「Hadoop」の活用を進めている。Hadoopを使うことで、従来は6時間以上かかった処理がわずか5分半で済むようになった例もある。2009年秋には組織を整備し、適用範囲を全社に広げている。

 Hadoopは、米グーグルが開発した分散処理ソフト「Google File System(GFS)」と「MapReduce」を模したオープンソースソフトである()。GFSとMapReduceは、グーグルのクラウドを支える基盤技術。Hadoopを使うと、複数台の安価なPCサーバーを連携させ、数十テラ~数ペタバイトに及ぶデ ータを高速に処理できる。

 Hadoopを日本国内で最も積極的に利用している企業はヤフーだ。2008年ごろから部署単位でHadoopの導入を進め、Hadoopを使う事例が10件を超えるようになった()。

表●ヤフーにおけるHadoopの用途
[画像のクリックで拡大表示]

 同社は09年秋に、全社的にHadoop導入を進めるための社内横断的な組織を設立。データ処理の全社的なプラットフォームとしてHadoopを活用することを検討している。

 Hadoopの主な用途は、データマイニングである。利用者によるコンテンツの閲覧履歴を分析し、お薦めの情報を推奨(レコメンド)する「レコメンドエンジン」などにHadoopを使用している。

 地図検索などのサービスを手掛ける地域サービス事業部は、1台のPCサーバー上でリレーショナルデータベース(RDB)ソフトのMySQLを稼働させて処理していたログの集計を、Hadoopを使って20台のサーバーによる分散処理に移行した。この結果、6時間6分35秒かかっていた処理時間を、わずか5分34秒にまで短縮できたという。

 Hadoopは基になったMapReduceと同様に、データを抽出(フィルタリング)するMap処理と、抽出したデータを集約して計算するReduce処理の二つで構成する。それぞれの処理を大量のサーバーに分散し並列して実行できるので、処理が高速化する。

 Hadoopでは、あるサーバーが故障しても、他のサーバーが失敗した処理を自動的に再実行する。複雑な分散処理プログラムをプログラマーが開発する必要はない。

 日本のヤフーも独自の分散処理基盤ソフトを開発していたが、サーバー間の通信処理や障害復旧処理などをプログラマーが独自に開発する必要があった。そのため、「サービスを開発するエンジニアがこの分散処理ソフトを使うケースはほとんどなかった」(R&D統括本部プラットフォーム開発本部検索開発部リーダーの角田直行氏)という。

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

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