「Jubatus」とは、ビッグデータの分野において、大量のデータを統計解析したり傾向予測したりするためのソフトウエア製品です。開発元によると「オンライン機械学習向け分散処理フレームワーク」であると説明されています。
※「機械学習」とは何か?についてはWikipediaの記事を参照するとよいと思います。
<開発元>- 株式会社プリファードインフラストラクチャー(http://preferred.jp/)- NTT情報流通プラットフォーム研究所(http://www2.pflab.ecl.ntt.co.jp/)
※上記2社の共同開発です。
■ Jubatusの特徴
開発元では、Jubatusの“ウリ”について、次のような趣旨の説明をしています。
大量データを(Scalable)、リアルタイムに(Real-Time)、深い解析(Deep-Analysis)することができる、この全てを同時実現しているのはJubatusが世界初
私はJubatusを下記のように理解しました。
・大量データ処理のために分散並列処理をサポートしています。(※スタンドアロンモードもサポートしていますので、入りやすいです。)
・大量データを発生時系列のデータストリームとして扱うこととしていて、それにより解析・分析の「リアルタイム処理」が実現されています。
■ Hadoopとの違い
2. Hadoop上にデータ解析・分析システムを構築すると、Map-Reduceアーキテークチャーの特性上、解析・分析対象データを事前に全て用意しておく必要があります。対してJubatusでは、解析・分析対象データを逐次追加しつつ逐次解析・分析の実行が可能です。(=解析・分析対象データを発生時系列でストリームとして扱うことで、リアルタイム処理が可能となっています。)
例えば、1ヶ月分の購買履歴データを解析・分析しようというとき、Hadoopベースのシステムでは、対象の1ヶ月が過ぎて、1ヶ月分のデータが全て蓄積された後に初めてその1ヶ月の解析・分析の実行が可能です。このような処理モードを「バッチ分析」と称しています。対してJubatusでは、その1ヶ月間日々、というよりトランザクション発生の都度、その時点までのデータについての解析・分析がその場で(=リアルタイムで)逐次行われます。発生差分データでの処理ができる、というイメージです。あるいは開発元は、ストリーム処理する、と言っています。この処理モードを「オンライン分析」と称しています。
※「オンライン分析」というと「OLAP」のことかと思われますが、ここでは、後からまとめて処理する「バッチ」に対して、その場で随時処理が行われるという意味で「オンライン」と称しているようです。「OLAP」とは多少ニュアンスが異なっている気がします。
参考
- 開発元の本家Webサイト:http://jubat.us/ja/
- プリファード社の紹介ページ:http://preferred.jp/product/jubatus/abstract/
- Jubatusの“立ち位置”の解説:http://bizex.goo.ne.jp/column/ip_16/84/66/index.html
- 開発元による概要プレゼン資料:http://www.ngs-forum.jp/event/seminar/report/w12040401/w11002.pdf
- 開発者Blog:http://blog.jubat.us/
◆以上
関連記事