NTTとプリファードインフラストラクチャー(PFI)は2011年10月26日、分散ソフトウエア基盤「Jubatus(ユバタス)」を開発したと発表した。Jubatusは大量データに対する機械学習などの高度な分析をリアルタイムで処理できるソフトウエア。10月27日からオープンソースソフトウエア(OSS)として公開する。

 Jubatusは、発生したデータを複数のサーバーに振り分けて、リアルタイムに分析処理を行う。サーバー台数を増やすことで処理性能を向上するスケールアウト構成をとることができる。Jubatusの構成は、複合イベント処理(CEP)やストリーミング処理ソフトに似ている。しかし、CEPやストリーミング処理ソフトが、集計やパターンマッチングといった単純な処理のみを実行するのに対して、Jubatusは機械学習のような高度なデータ分析をリアルタイム処理できることが特徴だ。

 機械学習とは、データの中からパターン(規則や傾向)を自動的に抽出することなどを指す。機械学習を利用することで、不正検知や市場予測、自然災害予測、健康リスク予測などを行うアプリケーションを開発できる。

 またJubatusは、最近ビッグデータの分析に使われるケースが増えた「Hadoop」とも異なる。Hadoopが蓄積したデータをバッチ処理するソフトであるのに対して、Jubatusはストレージにデータを保存せずに、リアルタイムに処理する。

 Jubatusの特徴は、外部のプログラムから「C++」用のAPI(アプリケーション・プログラミング・インタフェース)を呼び出すだけで、機械学習を実行できるという点だ。「R」や「SAS」といった統計解析ソフトで機械学習を行うためには、各ソフト専用の言語を使って、機械学習の処理を実装する必要があった。

 公開当初のJubatusは、機械学習によってデータを分類するためのAPIを備える。今後、「近傍探索推薦」など、他のデータ分析手法のAPIを追加する予定だ。