こんにちは!HALです。
今回は、リアルタイム分析を実現する強力なツールシリーズとして、前回紹介した「Jubatus」に加え、強力にリアルタイムの解析が実現可能な「Storm」というSWをご紹介したいと思います。
▼前回の記事はこちら
リアルタイム分析を実現する強力なツールシリーズ~Jubatus~
■Stormとは?
・Twitterのエンジニアが開発したHadoopのような分散処理を行い、ストリーミングのような形でリアルタイムに結果を発行できるオープンソースです。
・「CEP」(Complex Event Processing)のカテゴリに属します。
■Stormの特徴
・リアルタイム処理のための簡単な枠組みを提供。
「Sport」と、「Bolt」という要素から成り立ってます。
Sport : 変換するためのデータを流し込む処理
Bolt : データの変換処理
・ 障害発生時のメッセージ処理を保障でき、データの欠損が無いことを保障される。
従って、ミッションクリティカルな分野への適用も可能です。
・拡張性が非常に高い。Twitterのハッシュタグにランキングをリアルタイムに算出するという用途にも利用されているようにストリームデータ処理をスケールできます。
■利用されている企業
Groupon | データ結合、クレンジング、正規化 |
The Weather Channel | 気象データサービスでデータ整形、DB格納 |
FullContact | ソーシャルデータサービスで外部とのアドレスデータ同期、グラフ解析 |
Tweetデータ処理、クリックデータ集計 | |
Infochimps | データ収集/配信サービス ETL |
Ooyala | 視聴データ解析、レコメンデーション |
spider.io | インターネットトラフィック解析、不正検出 |
GumGum | 広告プラットフォームのイベント処理 |
http://storm.incubator.apache.org/
■Amazon Kinesis Storm Spout
Amazon Kinesis Storm Spoutというライブラリを利用すれば、Kinesisで収集したデータに対して、Stormを使って処理するといったことも可能です。
Kinesis自体でストリームデータの処理が可能ですが、Kinesisだけでは実現しにくい複雑な処理や、既存のStormクラスタとの連携が可能になります。
いかがでしたでしょうか。
今回は概要のみでしたが、別の機会にStormについて、もっと掘り下げてご紹介したいと思います!
お楽しみに!!