日立ソリューションズは12月2日、東京・品川にて「Hadoopが導く分散処理における次世代のバッチ処理開発とは〜Asakusa FrameworkによるHadoopエンタープライズ適用セミナー〜」を開催した。
本稿ではその中から、ノーチラス・テクノロジーズ代表取締役副社長 神林飛志氏による講演「Hadoopによるバッチ処理の導入」を紹介する。
Hadoopを定義するのにビッグデータという言葉は必要ありません——神林氏は冒頭、こう切り出した。
いまやバズワードとして定着し始めている「ビッグデータ」だが、その言葉が語られるときはサブセットのごとく「並列分散処理システム」としてHadoopも引き合いに出されることが多い。だが神林氏は「ビッグデータとHadoopは直接関係ない」と断言する。
神林飛志氏
Hadoopとはそもそも何か。もとはといえば、Googleが開発した検索のための基盤技術に端を発している。Googleが公開した情報をベースにオープンソースとして新たに開発されたプロダクトがHadoopで、現在はApache Software Foundation下のプロダクトとして開発が続けられている。Googleは現在、Hadoopを利用していないが、Yahoo!やFacebookが世界最大のユーザーとなっている。
Hadoopの最大のメリットについて、神林氏は分散IOによるバッチ処理が高速化できることだと指摘する。
「現行のシステムの最大のボトルネックはディスクIOにある。これが遅いため、大きなデータの場合、夜間バッチを行っても処理が終わらないということがザラにある。ディスクIOのボトルネックを解消する——これがHadoopであり、これ以上でも以下でもない」(神林氏)
現行のRDBMSベースであれば「ディスクの処理が追いつかないので、CPUの平均使用率は5%程度。せっかくのCPUパワーを使い切れないことが多い。だがHadoopを使えば使用率が30%を超えることも珍しくない」とのこと。逆に言えば「ビッグデータの場合、ディスクIOがボトルネックになりやすいので、Hadoopを使おうという流れになりやすいだけ。ビッグデータ=Hadoopという直線的なつながりはない」とする。
バッチ処理の高速化にはどんなメリットがあるか
ここでHadoop導入のメリットをもう一度振り返ってみよう。HadoopはディスクIOがボトルネックとなっていたバッチ処理において、既存システムに比べて圧倒的なパフォーマンスメリットを得ることができる。
バッチ処理にかかっていた時間的制約がなくなれば、これまで月次でしか出せなかったレポートを週次や日次、場合によっては即時処理することも可能になる。シミュレーションやデータクレンジング、予測処理なども何度も実行できるだろう。また、夜間バッチをなくすことで、運用監視の人的コストの大幅削減につながる。バッチ処理による長時間のロスを解消するということはさまざまな効果を引き出すのだ。
ここで神林氏は、ノーチラス・テクノロジーズが手がけた2件のHadoop事例について紹介した。