図1 分散バッチ処理基盤であるHadoopでは難しかった、リアルタイムかつ高度な分析を行える点を特徴とする
図1 分散バッチ処理基盤であるHadoopでは難しかった、リアルタイムかつ高度な分析を行える点を特徴とする
[画像のクリックで拡大表示]
図2 SNSへの書き込みを分析するアプリケーションの例。特定のキーワードを含む書き込みをしたユーザーについて、地域や年齢層、性別などを機械学習に基づいて判断し、その結果を統計的に示したもの
図2 SNSへの書き込みを分析するアプリケーションの例。特定のキーワードを含む書き込みをしたユーザーについて、地域や年齢層、性別などを機械学習に基づいて判断し、その結果を統計的に示したもの
[画像のクリックで拡大表示]
図3 ソフトウエア・モジュールを柔軟に組み替えられる構造を採用した
図3 ソフトウエア・モジュールを柔軟に組み替えられる構造を採用した
[画像のクリックで拡大表示]

 NTTの情報流通プラットフォーム研究所とプリファードインストラクチャー(以下、PFI)は、大量のデータに対する高度な分析をリアルタイムで実行する基盤技術「Jubatus」を開発した(発表資料)。いわゆる「ビッグデータ」の分析を、バッチではなくリアルタイムに行い、かつ単純な集計にとどまらないようにすることを目指した。コンピュータへの不正アクセスの検知、株価変動予測、製造ラインの異常検知、遠隔ヘルスケア・モニタリングといった多様な分野への応用を想定する。NTTとPFIは、2011年10月27日からJubatusのWebサイトにおいて、Jubatusをオープンソース・ソフトウエアとして公開する。

 Jubatusを開発した背景には、SNSに書き込まれた情報や、センサが記録したデータ、ネットワーク・トラフィックの履歴、業務システムのデータといった膨大な量の非定型データであるビッグデータを分析し、そこから何らかの「知」を見つけ出す技術が注目されるようになったことがある。米Google社が独自開発した分散処理基盤のオープンソース・クローンである「Hadoop」の登場が、ビッグデータの活用に弾みをつけた。また、大量のデータをリアルタイムで分析したいというニーズには、複数の異なるイベントの発生から複合的なイベントの発生を類推する、いわゆるCEP(複合イベント処理)技術が使われるようになった。しかし、「大規模なデータに対して、高度な分析をリアルタイムで行うソフトウエアが存在しなかった」(PFI 代表取締役社長の西川徹氏)ことから、Jubatusの開発に踏み切った。

 Jubatusは、「機械学習」に基づく分析を、大規模な分散処理基盤上でリアルタイムに行う技術を中核とする。機械学習とは、ルールを明示的に記述するのではなく、一部のデータと正解を与えることでルールを自動的に学ぶ技術のこと。それぞれのサーバーが分析中に新たに見つけ出したルールを適度な時間間隔をおいて共有する仕組みにより、サーバーの台数にほぼ比例した処理性能を得られるようにした。

 分散データ蓄積、解析エンジン、応用解析処理の3層に分けて、それぞれの階層で使うソフトウエア・モジュールを柔軟に組み替えられる構造を採用した。データの入力から解析までの処理フローを定義・管理するソフトウエア・モジュールも用意する。

 NTTとPFIは、JubatusをLGPL2ライセンスに基づくオープンソース・ソフトウエアとして公開する。Jubatusのユーザーに公開するだけでなく、他の開発者からのパッチも積極的に受け入れていく考えだ。