オープンソースソフトウェアに注目せよ! ビッグデータ解析最前線HPエバンジェリストに聞く、オリンピックに向けてITができること

「ビッグデータを活用したい」と考える企業は多いものの、実際にデータを分析するとなると、解析の手法やツール、コストに悩まされるものだ。ここでは、事例を元にオープンソースソフトウェアをうまく活用する方法を紹介していく。

» 2014年10月23日 10時00分 公開
[PR,ITmedia]
PR

1日で3エクサバイト! ビジネスが生むビッグデータ

 「ビッグデータ」は、ビジネスを大きく変革するものとして、多くの企業がこぞって取り組み始めているキーワードのひとつである。

 製造業であれば、品質検査の“検査データ”や製品テストで得られた“計測データ”、サービス業であればコールセンターに集められた“通話記録”、オフィスビルの入退館を記録した“監視カメラデータ”など、企業はさまざまなデータをすでに持っている。これらの膨大なデータを基に、新しいビジネスチャンスを得ようとするのが、ビッグデータ活用の取り組みだ。

 しかし、いざ自社で保有しているデータを活用しようとしたとき、「それが本当に使えるデータかどうか?」という点には疑問が残る。まず、すぐにでも分析を開始できる生データであることが、必須条件と言えるだろう。

 何らかのフィルタリングがなされたサマリーのみを保存している場合には、解析しても目新しいことが見つかるかどうかは分からない。また活用しようとしても、テープメディアに記録されていて倉庫の奥底に眠っているデータでは、使えるようにする準備だけでも長時間を費やしてしまう。最初の問題は、取得したビッグデータをどう保存するかという点だ。

 米国国防総省のCIOは、軍事衛星からオフィス機器まで、ありとあらゆる情報をクラウド基盤に集約し、ビッグデータ解析を通じて国防に役立てようという構想を持っているという。同省は、現在注目を浴びるM2MやIoTといったセンサーを活用したビッグデータ基盤を検討している。またビッグデータの利活用のためにオープンソースを駆使したクラウド基盤を既に利用している。米国では、先進的なビッグデータ基盤が多数存在するが、そのひとつとして、「米国内の民間航空機のフライトデータ」を例に試算してみよう。

 “航空機に搭載されているエンジン1基”に搭載されたセンサーが1時間に生成するデータ量は、20テラバイトにもなるという。米国で使用されている一般的な航空機であればエンジンを2基搭載しており、1回のフライトで平均3時間ほど飛行する。つまり、1回のフライトで120テラバイトものデータが集まる計算だ。さらに米国内で1日に飛ぶ航空機は2万5000便とのことなので、全航空機のデータは毎日3エクサバイトを超えることになる。

図1 <図01>米国民間機のフライトデータ総データ量

 もちろん、一般企業が1日当たりにこれほどのデータを保有することは稀であろうが、それでも少し計算すれば、膨大なデータ量になることはすぐに分かるだろう。

ビッグデータの最先端はオープンソースソフトウェアが担う

古賀政純氏 日本ヒューレット・パッカード プリセールス統括本部 オープンソース・Linuxテクノロジーエバンジェリスト 古賀政純氏

 日本ヒューレット・パッカード(以下、日本HP)のエバンジェリスト、プリセールス統括本部ソリューションセンターでOSS & Linuxを専門とするシニアITスペシャリスト古賀政純氏は、ビッグデータ解析を実践するために必要となるポイントを次のように述べている。

 「これほどの膨大なデータを、どう保存し、どう解析すべきか、というのは難問です。ビッグデータ解析の技術は日進月歩で、逆に言えば、一昔前の技術ではもはや追いつかないのが現状です。注目してほしいのは、最近注目されている高速分析基盤『Apache Hadoop』のように、最先端技術はオープンソースソフトウェア(OSS)の世界から登場しているという点です」(古賀氏)

 例えば、米クラウデラが提供している「Cloudera Hadoop」は多ノード構成のHA化に対応しており、最近ではSQLライクなリアルタイムクエリエンジン「Impala」や、SQLライクなインターフェイスを提供する「Hive」などが大幅に性能向上し、有効活用するためには高度な技術力が必要となるが、非常に高度な分析ニーズに応える製品に進化している。

 米マップアールテクノロジーズは、単一障害点のない信頼性の高いHadoopシステム「MapR」を提供している。全ノードを同一構成にすることが可能で、ファイルシステムとしてNFSをサポートしており、一般的なLinux/UNIXの技術で運用できるなど、高度なエンジニアスキルを持たないエンタープライズレベルの管理者でも十分に運用できる製品である。

図2 <図02>Hadoop比較

 「日本では、機械学習の分野でHadoopで稼働する『Apache Mahout』ライブラリを活用する手法が注目されています。顧客と商品の相関を解析してオススメをレコメンドしたり、過去の迷惑メールからパターン分析を行って駆除したりするサービスはすでに実践されています。ユーザーの行動分析にも機械学習が活用されていますね。最近では、大量の論文や小説の内容を分析して分類・クラスタリングするために、Mahoutを活用することも検討されています」(古賀氏)

 ある企業では、自社の検索システムが生成する3年分のログ、量にして80ペタバイトものビッグデータを解析し、ビジネスに活用していた。ところが、旧来のシステムでは、データ解析のバッチ処理に“26日間”もかかっていたというのだ。もし解析中に何らかのエラーが発生したら、それまでの苦労は水の泡である。これでは、分析系システムの開発者への負担も大きい。

 そこで、この企業では2万5000台のサーバーを使用するHadoopシステムを導入。その結果、たった“20分”で解析が完了できるようになった。その翌年には、さらなるビッグデータ解析を実践すべく、3万6000台のサーバー拡張を行ったという。

 また自動車業界では、各車両に取り付けられたセンサーから取得したデータをリアルタイムに分析し、ドライバーへ情報を提供するようなシステムが求められている。

 「自動車業ではたいていの場合、HadoopクラスターにはフリーのLinux OSを活用して初期費用を抑えつつ、重要なデータベースにはUNIXや商用LinuxとOSSのデータベースを採用して、信頼性を高めています。こうした適材適所でOSSを活用している事例は、ぜひ見習っていただきたいですね」(古賀氏)

さまざまなニーズに応え、革新を生み出すツール群

 このほかにも、さまざまなニーズに応えるべく、先進的なOSSはいくつも登場してきている。

 一般的なHadoopシステムは、ひとつのジョブがシステムを占有するため、複数のユーザーが分析を行いたい場合には、順番を待つ必要があった。これでは効率が悪いので、複数のユーザーが一気にジョブを投入することができ、優先順位を設けて処理させたり、優先順位の低いジョブを一旦サスペンドしておき、優先度の高いジョブをクラスター全体に割り込ませて実行させたいというニーズが生まれている。複数のクラスターでHadoopのジョブやその他のユーザー固有のジョブが同時に実行されるような環境においてこうした制御は非常に難しい

 こうした分散システムの実現を目指すのがクラスタ管理ソフトウェアの「Apache MESOS」である。クラスタのCPUやメモリなどのリソースを統合管理し、Hadoopのジョブや科学技術計算用のMPIジョブを優先順位に合わせて効率的に分配してくれる。

 古賀氏は、「MESOSはHPCクラスタにも対応していますが、Hadoopに特化した『YARN』というソフトウェアも登場しています。分散システム型のHadoopとHPCクラスタの統合運用管理に関する技術はまだ発展途上ですが、注目しておきたいOSSです」と述べている。

図3 <図03>MESOSとYARNの比較

 また同様に、既存のHadoopは専用ハードウェアシステムを構築するのが一般的であるが、最近ではクラウド基盤に搭載しようという動きも出てきている。マウス操作だけで、簡単にHadoopをOpenStack環境へプロビジョニングできる「Sahara」が登場したからだ。

 すでにSaharaは、「Red Hat Enterprise Linux OpenStack Platform(RHELOSP) 5」にテクノロジープレビューとして搭載されており、Red Hat Summit 2014でもデモンストレーションが披露された。OpenStackのダッシュボードでHadoopのジョブを管理できるため、運用性が大幅に高まる。古賀氏によれば、Hadoopをクラウドサービスとして提供するニーズも急増しているそうだ。

 「OSSというと、“運用が大変でインストールすら面倒”というイメージを持たれがちですが、そうした心配を払拭するツールも登場しています。英カノニカルの『Juju』は、さまざまなOSSをマウス操作で簡単に配備できるソフトウェアです。サーバーの電源入力から、Ubuntuの起動、OSSのインストールまで、全てドラッグ&ドロップだけで完了します。私もJujuを使ってWikiサイトを構築してみましたが、最初の画面が表示された際には、あまりの簡単さに感動すら覚えましたよ」(古賀氏)

スーパーコンピュータもクラウドサービスで

 エンタープライズ用途ではHadoopが注目されているが、学術研究分野や製造分野においては、「スーパーコンピュータ(スパコン)」とも呼ばれるHPCが依然として隆盛だ。特に自動車産業において、その活用は歴史深い。

 例えばBMWは、2000年からF1チームのBMW ウイリアムズF1(当時)において、HP(Compaq)のProLiantサーバーをサーキットのガレージに持ち込んで、レースのデータを収集し、データを解析していた。またルノーも、AMD Opteronのブレードサーバー128台で構成したHPCに流体解析ソフトウェアを搭載して、自動車の開発に活用していた。

古賀政純氏

 「私は自分でもカートの運転を楽しむなど、自動車や自動車レースが好きなため、どうしても紹介が偏ってしまうのですが、自動車業界においてHPCは非常に重要な要素です。HPのHPC製品にとっても、自動車業界は重要なお客様です。BMWやルノーのほか、国内においては本田技術研究所やいすゞ自動車などで、製品開発のために当社のHPC製品を導入していただいています」(古賀氏)

 HPは2014年8月、HPCの新ファミリ「Apollo」シリーズを発表した。「Apollo 6000 System」はHPCだけでなく、高速なCPUが必要とされる機械学習基盤にも適しているという。また、米Intelの半導体設計基盤として5000台の導入実績もあり、現在も増設中とのことだ。ハイエンド向けの「Apollo 8000 System」は、水冷技術を活用して1ラックで250TFLOPSを実現した。HPは、冷却性能を向上させるために特殊な冷却管を用いた「Thermal Bus Bar」を開発するなど、さまざまな工夫を施したという。

 「BMWがスパコンを活用し始めた14年前と比べて、ハードウェアこそ大きく変わりましたが、開発環境自体はそれほど変わっていません。ハードウェア面では、x86サーバ−で構成されたり、Linuxが活用されたりとさまざまな変化がありますが、一番目立つのは、ファイルシステムです。旧来のUNIXのスパコンシステムであればルートディレクトリから全てシングルシステムイメージを実現できていたのが、Linuxのスパコンは、ノードごとにOSのファイルシステムを別々に管理する分散型になり、技術的には後退しています。シングルシステムイメージではないLinuxの分散型のファイルシステムで分散型ジョブをいかに効率よく管理するかがキーになっています」

 最近のHPC/スパコンでは、性能指標にも変化が出てきているという。スパコンといえば「TOP500」が有名だが、これに加えて環境指標を示す「Green500」も追加されるようになった。そこで、いち早くApollo 8000を導入した国立再生可能エネルギー研究所においては、Apollo 8000から発せられる熱を施設の暖房や融雪設備に再利用しているという。

図1 <図01>HPが取り組む水冷スパコンは環境を考慮

 また古賀氏は、OpenStackを活用した「HPCクラウド」の提供がトレンドになると予測している。「HP Cloud Service Automation」などを活用し、同一のメニュー内で、仮想化基盤やGPUなどを時間借りできるような環境も実現されることだろう。

 「将来的には、HadoopやMahout、スパコンなどを、CPUやGPUの差を意識することもなく、クラウドサービスとして利用できる仕組みが実現するかもしれません。サービスを選定する際には、環境性能も考慮することになるでしょう。もちろん実現には大きなハードルがいくつも存在しますが、期待は膨らむばかりです」(古賀氏)

最先端のビジネスのためにはOSSを取り込むべし

 このように、ビッグデータ分析や解析の分野は、大きく変化しようとしている。特に注目していただきたいのは、さまざまなOSSの名前が登場しているところだ。最新技術のほとんどがOSSから生まれている点は、決して無視することはできない。

 「OSSを取り入れる準備を怠らないようにしてください。もちろん、枯れたシステムの良い面を最大限に活用することは重要です。しかし、使い慣れた古いシステムだけでは、革新的なビジネスを生むことなどできません。最新の技術情報をキャッチできるように、目を光らせておくことが重要です。そして、実際の導入に当たって課題を解決する必要が生じた場合には、ぜひ私たちに相談してください」(古賀氏)

Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本ヒューレット・パッカード株式会社
アイティメディア営業企画/制作:ITmedia エンタープライズ編集部/掲載内容有効期限:2014年11月22日

特集ページ

関連リンク