Hadoopの利用が広がっている。その最大の魅力を、米マップアールの創業者であるM.C.スリバス氏は、データの存在する場所でスケールする高速な処理が可能な基盤を提供できることにあると話す。だが、ビジネスで使えるものにするには、信頼性の向上が不可欠だったという。
米マップアール・テクノロジーズ(以下、マップアール)の共同創業者でCTOのM.C.スリバス(M.C. Srivas)氏は、同社の提供するHadoopディストリビューションについて、「(他のHadoopディストリビューション提供企業を含む)既存のベンダに、競合となるところはない、あるとすればそれは、私のまだ知らないスタートアップ企業だ」と話す。
米グーグルの主要な検索チームの1つを率いていたスリバス氏が退社し、マップアールを立ち上げたのは2009年。同氏のチームはもちろん、MapReduceアルゴリズムやBigtableを駆使していた。グーグルの論文を基に米ヤフーのエンジニアが開発したHadoopが、オンラインサービス企業の間で急速に普及するのを見て、その将来を確信したのが、マップアール立ち上げの発端だったという。スリバス氏は当初、グーグル社内で事業を立ち上げることを考えたが、リーマンショックでグーグルを含む企業の投資意欲が減退するなかで、同氏の実績を評価していたベンチャーキャピタルなどの出資を得て創業した。「結果的には、だれもが投資できない時期に始められたことがよかった。われわれは大きなリードを手にすることができた」。
Hadoopは超大規模なスケールが可能なデータ処理プラットフォーム技術として、オンラインサービス事業者以外の企業、組織にとって、これまで解決が困難だった問題に適用できる大きな可能性があるとスリバス氏は考えた。だが、「組織がコアビジネスに使えるようにするためには、信頼性や品質が確保されていなければならない。これを、Apache Hadoopオープンソースコミュニティから逸脱することなく提供したかった」(スリバス氏)。
マップアールのHadoopディストリビューション製品「MapR」が提供開始されたのは2011年だが、同製品は3000以上の組織に有償で利用されているという。本格利用をしているのは500組織以上。最大の利用規模はノード数でいえば数万、データ量でいえば100ペタバイトという。MapRは2012年より、グーグルおよびAmazon Web ServicesのHadoopサービスにも採用されている。
MapRの実際の利用例として、スリバス氏は携帯電話会社における請求書作成のための通話/サービス利用記録処理、薬品会社における過去16年にわたる薬品利用の記録分析、電力業界における送電線監視、オンライン不正取引検知などを挙げる。
「海洋調査や気象情報分析はスーパーコンピュータの仕事とされてきたが、いまではHadoopで動いている」。なかには、飛行機による爆撃で刻々と変化する地表面を、数時間ごとに再描画するといった用途もあるという。
「セキュリティを国レベルのスケールで監視できるサービスでも使われている。これはMapR以外のHadoopでも実現できない。要求されるデータの取り込みレートが非常に高く、またデータが入ってきたと同時に処理しなければならないからだ。ファイルのクローズを待っているのではだめだ。通信事業者などで使われるため、求められる信頼性は非常に高く、Hadoopの知識がなくても運用できなければならない」。
OLTPでも実際に利用されている。「(No SQLデータベースを統合したMapRのエディションである)MapR M7で実現できるOLTPのレベルは100万トランザクション/秒、これに対してOracle Databaseはせいぜい1万トランザクション/秒だ。100分の1のコストで100倍の性能を実現している」。
「ユーザーは、自分たちがHadoopを何に使えばいいかを把握している。自分たちのビジネス上の問題を解決するテクノロジが、これまでになかっただけだ」。
スリバス氏が最初に手を付けたのはデータの信頼性だ。HDFSに代えて使うことのできるファイルシステムを独自開発した。「EMCやネットアップのストレージに備わっているようなエンタープライズグレードのデータ管理をLinuxで実現するのは非常に難しい。MapRはLinux上で、ファーストクラスのデータを保存できる最初の商用製品になった」。
「グーグル、ヤフー、フェイスブックも、重要なデータにHadoopは使わない。ヤフーはHadoopを開発したにもかかわらず、ネットアップの最大の顧客だ。HadoopはWebをスクレイピングし、検索のためのインデックスをつくるには適している。その過程で情報漏れがあったとしても、大したことではない。例えば私がFacebookで『いいね』したことが反映されるのに数時間掛かったり、まったく反映されなかったりしたとしても、気にする人はいない。しかしビジネスとなれば、誰も見ていないときでも確実に動かなければならない。100%の信頼性が求められる。例えば不正検知にHadoopを活用しようとしている人は、日本をはじめ世界中にいる。こういう用途でデータを見落とすことはあり得ない」。
Hadoopにおけるデータ信頼性に関する大きな問題は、HDDあるいはノードの障害にどう対応するかにある、とスリバス氏は続ける。商用ストレージ装置なら、NVRAMによるバックアップでデータの整合性を保つことができる。一方、Hadoopの非常に大きな魅力は、汎用コンピュータと内蔵HDDを使ってコスト効率よく、スケールするデータ処理基盤を作れることだと同氏は話す。同じ理由でクラウドサービス上でも動かしやすい。
だが、クラウドにしても、汎用コンピュータノードとHDDの構成では、HDDやノードの故障への対応が難しくなる。HDD間でデータのレプリカを作成するのが常とう手段だが、いずれかのノードあるいはHDDがクラッシュした場合、再同期が完了するまでの時間は、二重障害、三重障害に対してぜい弱になってしまう。
結局、ビジネスでHadoopを活用するには商用ストレージ装置を使いたくなるが、「それでは高価だし、ボトルネックだらけになる」。
HDFSではこの問題に対する解決策を組み込んでいるものの、新たな問題を生んでいるとスリバス氏はいう。HDFSでは書き込みが完了してクローズされた静的なファイルのみが他のノードから見え、レプリカの対象となる。書き込み中のデータは他から見えないため、「リアルタイムアプリケーションに使えない」。
MapRでは、ランダムな書き込みと読み取りを実現、そのうえでデータを「コンテナ」と呼ぶ細かな単位に分割し、全ノードを活用してデータを自動で分散配置する。レプリケーションもリアルタイムで行われる。
このため、データアクセス性能はノード数に比例して高まる。また、いずれかのノードがクラッシュした際の再同期にかかる時間も、ノードの数が増えるにしたがって短くなる。新規ノードが追加されると、自動でそのノードのストレージ容量と処理性能を再同期にも利用できるようになる。「これは新規ノード上にまず一部のレプリカの複製を自動作成、次に複製元のレプリカを削除するという形で行うため、復旧機能は低下しない」(スリバス氏)。
さらにクラッシュ時には、レプリカの分岐ポイントを正確に検出、これに基づいて適切なノードがマスターの役割を担う。各レプリカは必要なロールバックあるいはロールフォワードをすることで、再同期が行われるという。一連のプロセスは自動的に行われ、人手は介在しない。
スリバス氏は、リレーショナルデータベースのベンダとストレージのベンダが、それぞれHadoopの人気にあやかるための取り組みを進めているのは面白いが、最大の可能性は両者のちょうど中間にある、と話す。
「オラクルやテラデータのデータベースは、データ処理に高い信頼性を与えているが、列/行で表わされるストラクチャードデータが全てではない。逆にわれわれは、全てをセミストラクチャードで考える。一方、商用ストレージ製品は、データ自体の信頼性こそ高いが、重要なのは保管ではなく、処理だ。スケールとパフォーマンスを実現し、さまざまなデータを処理する能力を手にするためには、データを持っているノードの上で処理を走らせなければならない。それでこそ、新しいクラスのアプリケーションを実現できる」。
Copyright © ITmedia, Inc. All Rights Reserved.