Streaming Processing for Big Data (4)

実際の導入,インストレーションについて検討してみました.

やっぱり,S4,Dempsy,Storm当たりに絞るのが良い感じです.

導入はシンプルな方がいいですね.メンテナンス性もその方が良いはず.

S4

少なくとも,Java+Zookeeperが必要

Storm

Java6+Zookeeper,Nimbus,ZeroMQ,Python等が必要.

Pythonは今時入ってるし,ZeroMQは興味があるのでこれはアリな気がします.

Dempsy

Javaの他に,Spring Frameworkが必要.フレームワークのためにフレームワークが必要ということで,ちょっと依存が強そう...



番外

Jubus

リアルタイム・ストリーミング処理の汎用的フレームワークを調べてましたが,機械学習に特化したものも発表されました.
こちらもZookeeperは必要です.


Jubatus

Jubatus はオンライン機械学習向け分散処理フレームワークです。

オンライン多値分類
オンライン線形回帰
オンライン推薦(近傍探索)
オンライングラフマイニング
特徴ベクトル変換
フォルトトレランスなオンライン機械学習

Mahoutとの差も(日本語)ドキュメントに書いてあっていてありがたいです.

Difference from Hadoop and Mahout

Hadoop/MahoutとJubatusの間には多くの共通点があります。これらはスケーラブルで、コモディティサーバ上で動作します。 しかし Hadoopは、機械学習MapReduceパラダイムにあまり適合していないこともあり、洗練された機械学習機能を備えていません。 Apache Mahout も Hadoop-based な機械学習プラットフォームですが、オンライン処理はスコープ外です。

Jubatusは、データ分析に特化しています。 Jubatusは、すべてのデータをメモリ上で処理し、オンラインで処理し、高いスループットと低いレイテンシを実現します。 この機能を実現するために、Jubatusは分散環境におけるゆるいモデルの共有と同期というアーキテクチャを採用しているのです。