データ集計・分析環境のあれこれ
現在自分の主業務はデータ集計・分析基盤の構築なのだけども、意外とまとまった情報ってなさそうなのでまとめてみる。まずは雑多に並べてみて、あとで整理します。あと自分が触ってないものもあります。
・何を使っていくべきか?
まず機械学習とか分析するのにいきなりHadoopクラスタ組み上げるのも大変なので、必要に応じて学んで行けばよいかと。
逆に大量ログデータを一括で処理したいって場合にはHadoopでも組み上げた方がいいかと。
参考:昨年秋の日記
http://showyou.hatenablog.com/entry/2014/09/15/005055
・言語
R
Julia
HiveQL
・並列計算エンジン
Hive, HBase, Pig, YARNなどはHadoop上の1部品。Hadoopの中身を列挙するだけでも長くなるので別エントリで
Spark
Sparkはメモリ上でのバッチ計算を行うシステムで、メモリに乗るレベルの計算ならHadoopより早い(対MapReduce. YARNベースのものは要比較)
・KVS
HBase
Hadoopの上で動く
Redis
シンプル故に早い
MongoDB
jsonでデータやりとり出来るのが楽。トランザクションで偶に泣きを見てる人がいる気がする。
Riak
Cassandra
Column(列)ベース
Pivotal GemFire の OSS 版、Geode のビルド - めざせ!細マッチョ
https://network.pivotal.io/products/project-geode
in memory KVS. Pivotal GemfireのOSS版。ビルドは一手間いりそう。
最近couchDBは聞かなくなった気が
・DB
Greenplum
Vertica
Redshift
Hive
DBというより、Hadoop上のファイルや集計処理をDBのように扱えるツールといった感じ。SQLとは少し違うHiveSQLを使用。
Impala, Presto, Drill, HAWQ
・Streaming処理
Apache Storm
Norikra
Spark Streaming
自分まだ触ってないですが、バッチ処理を細かくして実行間隔を短くしてるので、上2つほどではない気が
・視覚化
ipython notebook
RStudio
Hue
shib
Pentaho
Tableau
Microstrategy
・ログ・データ転送
Flume
Sqoop
fluentd
embulk
pentaho
・機械学習
scikit-learn(python)
Torch7
libsvm(liblinear)
・Deep Learning
Deep Learning リンク集 - 人工知能に関する断創録
Torch7
H2O
適当に列挙するだけじゃなくて、ユースケースに応じて使い方を紹介した方がよさそうですね。