LoginSignup
22
21

More than 5 years have passed since last update.

Stormで実現するビッグデータのリアルタイム処理プラットフォーム

Last updated at Posted at 2014-02-14

本内容は、デブサミ2014の講演のメモです。
http://event.shoeisha.jp/devsumi/20140213/session/399/

ビッグデータ x リアルタイム

リアルタイムが必要な理由

IoT (Internet of Things)
センサーなどのインターネット
に注目

Googleの提案

  • 2003 GFS
  • 2004 Map Reduce
  • 2006 BigTable
  • 2010 Percolator / Dremel (BigQuery)

オープンソースプロダクト

  • 2007 Hadoop
  • 2008 HBase
  • 2011 Twitter Storm
  • 2013 Drill

これまで

ログ解析、処理時間短縮、リコメンドエンジン => 主にバッチ処理

今後求められる

  1. 不正利用、不正アクセス検知
  2. センサーデータ

ビッグデータの種類

  • バッチ
    技術:MapReduce
    プロダクト:Hadoop

  • クエリ インタラクティブクエリ 
    技術:クエリ、OLTP
    プロダクト:Drill / Impala / Stinger / Presto

  • ストリーム
    技術:Stream processing
    プロダクト:Storm / Spark Streaming

Ltencyはバッチからストリームに向かって低くなる

ストリームデータ処理

利用例

  • 大量のデータの事前処理
  • リアルタイムデータ集計
  • センサーデータの集計・分析
  • セキュリティ

ストリームデータ処理を実現するStrom

Twitterがオープンソースとして公開
コアエンジンはClojure、コンポーネントはJava
コンポーネントは、Scala Rubyなども可

特徴

1. Integrates
2. Simple API
3. Scalable
4. Fault tolerant
5. Guarantees data processing
6. Use with any languages
7. Easy to deploy and operate

構成

Nimbus -> Zookeeper -> Supervisor - Worker - Executor

Topology

Spout -> Bolt

Spout:TUpleとしてデータソースを送出する
Bolt:StreamからTupleを受信し、処理する

  1. Stream groupoings
  2. Deistrbuted RPC
  3. Transactional
  4. Trident
  5. Metricds

ストリームデータ処理のアーキテクチャ

  • 大量データの収集方法
  • 増減刷るストリームデータへの対応
  • 分散処理
  • 中間データの扱い

一旦キューに入れて

実例

ログのリアルタイム作成、フィルタリング

Stomethign + Strom

Storm on YARN

Amazon Kinesis with Storm
Kinesisはデータの収集

##Stormでオンライン機会学習

AcroMUSASHI Stream
https://github.com/acromusashi/

オンライン機会学習
Stream-ML

モチベーション

  1. イベント処理 => CEP => 機械学習 on ストリームデータ
  2. スケーラブル + 高信頼性でリアルタイム系で利用できる機械学習
  3. チャレンジ!!

特徴

  • スケーラビリティを備えた高速分散処理
  • 機械学習のアルゴリズム単体ではなく、データ分析全体のリアルタイム処理

バッチとリアルタイムのハイブリッド

ラムダアーキテクチャ (バッチ x ストリーム)

Serving Layer

  • SploutSQL
    − ElephantDB

  • HBase

  • Casandra

これらを、Strom Imparaなどでマージ

22
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
21