狠狠撸

狠狠撸Share a Scribd company logo
ストリーム処理と厂别苍蝉辞谤叠别别
第4回ビックデータ処理基盤研究会
田中 大輔
2016/03/22
自己紹介
? 田中大輔 (@disktnk)
– ?2008 理工学部機械工学科卒
– ?2015 某金融SIer
– 最後は金融工学ライブラリ屋さん
– 2015? 某???社
– アニオタ枠採用
– SensorBee 開発
– 他、最近は製造業系の案件に関わっている
2
本日話す内容
? なぜSensorBeeを必要としていたか (?3分)
? ストリーム処理の基本とSensorBeeでの実現 (15?20分)
? 質問
– 時間が余るようでしたら、SensorBeeを使用したデモ(動画)を何個かお見せします。
? 本日のNGワード: 人工知能、リアルタイム
3
本日話す内容
? なぜSensorBeeを必要としていたか (?3分)
? ストリーム処理の基本とSensorBeeでの実現 (15?20分)
? 質問
– 時間が余るようでしたら、SensorBeeを使用したデモを何個かお見せします。
4
? データの中央集権的収集は困難になる
– データ量の問題: 日本にある監視カメラ?スマートフォンの生成データは推定1,000PB/Year
– プライバシーの問題: クラウドへデータをアップロードしたくない?できない
– 情報量の問題: データ量に反して生成データの価値密度は薄い
5
IoTアプリケーションの直面する課題
? データを一か所に集めない前提のもとで深い分析を実現する
– ネットワークのエッジ上のデバイスのローカルでデータを解析
– 学習モデルなど抽出された情報だけがクラウド上に挙げられ、大域的な解析を行う
6
エッジヘビーコンピューティング
? Deep Learning + Edge-Heavy Networking
– Chainer
– SensorBee
7
シームレスなデータ活用
参考: Deep Intelligence in-Motion (DIMo)
8
Industries (Partners)Industries (PFN-involved)
SensorBee?: Streaming Processing Engine for IoT
Machine
learning
Deep Learning
Auto Manufacturing
Self-driving
/ADAS
Connected
Optimization
Predictive
maintenance
Healthcare
Drug
discovery
iPS cell
Retail
CRM
Ad
optimization
Surveillance
Security
Tracking
DeepIntelligence
in-Motion(DIMo)
Statistics
Tools
Computer
vision
Detect/Track/Rec
ognize
Reinforcement
learning
Distributed/Curri
culum
Time-series
RNN /
Representation
Sensor
fusion
Multi-modal
Annotation
Hawk
Feedback/Action
User applications
Camera UI
Kanohi
…
Libraries
Management
本日話す内容
? なぜSensorBeeを必要としていたか (?3分)
? ストリーム処理の基本とSensorBeeでの実現 (15?20分)
? 質問
– 時間が余るようでしたら、SensorBeeを使用したデモを何個かお見せします。
9
1. (Cotinuous) Queryの登録
2. データを流す、あるいは既に流れている
3. 入力されたデータに対して処理を行う “on the fly”
4. 処理結果を(クライアントに対して)継続的に出力する
Data Stream Management System(DSMS)
10
Continuous Queries
Streaming Inputs Streaming Outputs
data stream
1
3
42
DBMSとDSMSの比較
11
DBMS DSMS
Data persistent relations streams, time windows
Data access random sequential, one-pass
Updates arbitrary append-only
Update rates relatively low high, bursty
Processing model query-driven (pull-based) data-driven (push-based)
Queries one-time continuous
Query plans fixed adaptive
Query optimization one query multi-query
Query answers exact exact or approximate
Latency relatively high low
[Golab et al., 2010] p3 “Summary of differences between a DBMS and a DSMS”
Continuous Queryのセマンティクス
? Operators
– 入力された1つあるいは複数のデータに対して処理する単位。
– stream-to-relation, relation-to-relation, relation-to-stream
? Queues
– Operator間のデータ。SensorBeeでは1つのデータをTupleと呼ぶ。
? Synopses
– ストリームの操作や状態1つ1つの(簡易)表現の単位。Operatorとは独立してQuery
Planの最適化を考えるとき便利。SensorBeeでは特に定義していない。
12
[Aras et al., 2006]
[Jain et al., 2008]
Continuous Query Operators: シンプルな例
? selection
? join
? count
13
σa
S1 a a a a
f
pass or drop
?
S1
b d
c a d b a
insert
S2
b d g f e
probe
9S1 10 9 8 7
update (to “10”)
b a
f
generate result
b
Continuous Query Operator TypeとBQL
? BQL (SensorBeeで実装されているCQLの方言) のサンプル
14
SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2
FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES]
WHERE S1:id = S2:id;
BQL: Stream-to-Relation
? BQLサンプル
– Tuple based: [RANGE 1 TUPLES]
Time based: [RANGE 1 SECONDS]
– Buffering: [RANGE 3 SECONDS, DROP NEWEST IF FULL]
– Sliding Window, Tumbling Window (SensorBeeでは未サポート)
– セマンティクスが難しい。。
15
SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2
FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES]
WHERE S1:id = S2:id;
stream-to-relation
BQL: Relation-to-Relation
? BQLサンプル
– Selection
– Join
– Aggregation
– Filter etc...
16
SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2
FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES]
WHERE S1:id = S2:id;
relation-to-relation
BQL: Relation-to-Stream
? BQLサンプル
– RSTREAM / ISTREAM / DSTREAM
Example: http://sensorbee.readthedocs.org/en/latest/bql.html#id4
– Detail: http://sensorbee.readthedocs.org/en/latest/bql.html#relation-to-
stream-operators
17
SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2
FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES]
WHERE S1:id = S2:id;
relation-to-stream
SensorBeeの処理トポロジー
? Topology
– SensorBeeでは、入力から出力までの1つのまとまりをTopologyとして表現
– DAGとして表現される
18
Continuous Queries
Streaming Inputs
data stream
SensorBee: Source
? Source
– Topologyへの入力を表現するComponent
19
Continuous QueriesSources
data stream
S1
S2
S3
CREATE SOURCE S1 TYPE fluentd WITH ...;
CREATE SOURCE S2 TYPE mqtt WITH ...;
CREATE SOURCE S3 TYPE user_source WITH ...;
SensorBee: Stream
? Stream
– Tupleへの操作 (内部実装的には “Box”)
20
Streams
Sources
S1
S2
S3
CREATE STREAM B1 AS SELECT ISTREAM
udf1(*) FROM S1 [RANGE 1 SECONDS], S2 [RANGE 1SECONDS]
WHERE S1:id = S2:id;
B1
B3
B2
SensorBee: Sink
? Sink
– Topologyからの出力を定義する
21
Streams
Sources
S1
S2
S3
B1
B3
B2
Sinks
D1
D2
D3
CREATE SINK D1 TYPE fluentd WITH ...;
INSERT INTO D1 FROM B1;
CREATE SINK D2 TYPE mqtt WITH ...;
CREATE SINK D3 TYPE user_sink WITH ...;
SensorBee: User Defined Stream Function (UDSF)
? UDSF
– 新たなSourceとして振る舞えるユーザ定義関数
22
Streams
Sources
S1
S2
S3
B1
B3
B2
Sinks
D1
D2
D3
CREATE SOURCE B2 AS SELECT RSTREAM
* FROM udsf1(“S2”) [RANGE 1 SECONDS];
SensorBee: User Defined State (UDS)
? UDS
– ストリーム上の各Componentから共通でアクセスできるShared State
23
Streams
Sources
S1
S2
S3
B1
B3
B2
Sinks
D1
D2
D3
CREATE STATE G1 TYPE user_state WITH...;
CREATE SOURCE B3 AS SELECT ISTREAM
* udf3(“G1”, B2:*), S3:*
FROM B2 [RANGE 1 SECONDS], S3 [RANGE 1 SECONDS]
WHERE B2:foo = S3:foo;
G1
Example: Twitterのつぶやきの分類
? 機械学習と組み合わせたデモ
– Tutorial収録 http://sensorbee.readthedocs.org/en/latest/tutorial.html#using-
machine-learning
– 贰濒补蝉迟颈肠蝉别补谤肠丑と机械学习を実际に连携させる
http://www.slideshare.net/nobu_k/elasticsearch-59627321
24
Twitter
Gen
der
Ag
e
Form
atting
Form
atting
Form
atting Labeli
ng
fluentd
他、詳細について
? http://sensorbee.io
? http://docs.sensorbee.io/en/latest/
? https://github.com/sensorbee/sensorbee
25
参考文献
? A. Arasu, S. Badu, and J. Widom. The CQL continuous query language:
Semantic foundations and query execution, 2006.
? N. Jain, S. Mishra, A. Srinivasan, J. Gehrke, J. Widom, H. Balakrishnam,
U. Cetintemel, M. Cheriniack, R. Tibbertts, and S. Zdonik. Towerds a
streaming SQL standard, 2008.
? Lukasz Golab, M. Tamer ?zsu. Data Stream Management, 2010.
26
スライドは以上です。ご静聴ありがとうございました。
Copyright ? 2016-
Preferred Networks All Right Reserved.

More Related Content

What's hot (20)

PDF
PreadNet
Junya Kuwada
?
PDF
Tesseract ocr
Takuya Minagawa
?
PDF
颁耻笔测解説
Ryosuke Okuta
?
PPTX
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
tak9029
?
PDF
Jubakit の紹介
kmaehashi
?
PPTX
Jupyter Notebookでscikit-learnを使った機械学習?画像処理の基本
Norihiko Nakabayashi
?
PDF
颁补蹿蹿别のデータレイヤで梦が広がる话
Masaki Saito
?
ODP
コンピュータビジョン 1章
motimune
?
PPTX
Pred net使ってみた
koji ochiai
?
PDF
碍别谤补蝉で深层学习を実践する
Kazuaki Tanida
?
PDF
Deep Learning技術の最近の動向とPreferred Networksの取り組み
Kenta Oono
?
PDF
进化する颁丑补颈苍别谤
Yuya Unno
?
PPTX
Amazon Picking Challenge 結果報告
Preferred Networks
?
PDF
Chainer v1.6からv1.7の新機能
Ryosuke Okuta
?
PDF
ヤフー音声认识サーヒ?スて?のテ?ィーフ?ラーニンク?と骋笔鲍利用事例
驰补丑辞辞!デベロッパーネットワーク
?
PDF
実社会?実环境におけるロボットの机械学习
Kuniyuki Takahashi
?
PDF
Open-hardware and Japan
Shigeru Kobayashi
?
PPTX
JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7
Kotaro Nakayama
?
PDF
新版 OutOfMemoryErrorを知る
Masahiro Hidaka
?
PPTX
夏前ゼミ
メタボ ようじょ
?
PreadNet
Junya Kuwada
?
Tesseract ocr
Takuya Minagawa
?
颁耻笔测解説
Ryosuke Okuta
?
罢别苍蝉辞谤贵濒辞飞をもう少し详しく入门
tak9029
?
Jubakit の紹介
kmaehashi
?
Jupyter Notebookでscikit-learnを使った機械学習?画像処理の基本
Norihiko Nakabayashi
?
颁补蹿蹿别のデータレイヤで梦が広がる话
Masaki Saito
?
コンピュータビジョン 1章
motimune
?
Pred net使ってみた
koji ochiai
?
碍别谤补蝉で深层学习を実践する
Kazuaki Tanida
?
Deep Learning技術の最近の動向とPreferred Networksの取り組み
Kenta Oono
?
进化する颁丑补颈苍别谤
Yuya Unno
?
Amazon Picking Challenge 結果報告
Preferred Networks
?
Chainer v1.6からv1.7の新機能
Ryosuke Okuta
?
ヤフー音声认识サーヒ?スて?のテ?ィーフ?ラーニンク?と骋笔鲍利用事例
驰补丑辞辞!デベロッパーネットワーク
?
実社会?実环境におけるロボットの机械学习
Kuniyuki Takahashi
?
Open-hardware and Japan
Shigeru Kobayashi
?
JSAI's AI Tool Introduction - Deep Learning, Pylearn2 and Torch7
Kotaro Nakayama
?
新版 OutOfMemoryErrorを知る
Masahiro Hidaka
?

Viewers also liked (20)

PPTX
Scaling Apache Storm (Hadoop Summit 2015)
Robert Evans
?
PDF
ストリームデータ分散処理基盘厂迟辞谤尘
NTT DATA OSS Professional Services
?
PDF
罢飞颈迟迟别谤のリアルタイム分散処理システム「厂迟辞谤尘」入门
AdvancedTechNight
?
PPTX
Apache Storm 0.9 basic training - Verisign
Michael Noll
?
PDF
Global Innovation Nights - Spark
Works Applications
?
PDF
情報セキュリティと標準化I 第6回-公開用
Ruo Ando
?
PDF
Enterprise UI/UX - design as code
Works Applications
?
PPT
20141001
snoopopo
?
PDF
Demystifying kubernetes
Works Applications
?
PDF
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
?
KEY
形式手法と补濒濒辞测の绍介
Daisuke Tanaka
?
PDF
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Preferred Networks
?
PPTX
闯痴惭上でのストリーム処理エンジンの変迁
Sotaro Kimura
?
PPTX
碍补蹿办补を活用するためのストリーム処理の基本
Sotaro Kimura
?
PDF
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
?
PDF
ディープラーニングが活かす滨辞罢
Preferred Networks
?
PDF
碍耻产别谤苍别迟别蝉を触ってみた
Kazuto Kusama
?
PDF
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
?
PDF
Map Reduce ?入門編:仕組みの理解とアルゴリズムデザイン?
Takahiro Inoue
?
PPTX
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
StampedeCon
?
Scaling Apache Storm (Hadoop Summit 2015)
Robert Evans
?
ストリームデータ分散処理基盘厂迟辞谤尘
NTT DATA OSS Professional Services
?
罢飞颈迟迟别谤のリアルタイム分散処理システム「厂迟辞谤尘」入门
AdvancedTechNight
?
Apache Storm 0.9 basic training - Verisign
Michael Noll
?
Global Innovation Nights - Spark
Works Applications
?
情報セキュリティと標準化I 第6回-公開用
Ruo Ando
?
Enterprise UI/UX - design as code
Works Applications
?
20141001
snoopopo
?
Demystifying kubernetes
Works Applications
?
IoT時代におけるストリームデータ処理と急成長の Apache Flink
Takanori Suzuki
?
形式手法と补濒濒辞测の绍介
Daisuke Tanaka
?
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Preferred Networks
?
闯痴惭上でのストリーム処理エンジンの変迁
Sotaro Kimura
?
碍补蹿办补を活用するためのストリーム処理の基本
Sotaro Kimura
?
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
?
ディープラーニングが活かす滨辞罢
Preferred Networks
?
碍耻产别谤苍别迟别蝉を触ってみた
Kazuto Kusama
?
深層学習フレームワーク Chainer の開発と今後の展開
Seiya Tokui
?
Map Reduce ?入門編:仕組みの理解とアルゴリズムデザイン?
Takahiro Inoue
?
Choosing an HDFS data storage format- Avro vs. Parquet and more - StampedeCon...
StampedeCon
?
Ad

Similar to ストリーム処理と厂别苍蝉辞谤叠别别 (20)

PDF
アドテク×厂肠补濒补×パフォーマンスチューニング
Yosuke Mizutani
?
PDF
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
SORACOM,INC
?
PDF
シスコ装置を使い倒す!组込み机能による可视化からセキュリティ强化
シスコシステムズ合同会社
?
PDF
クラウドではじめるリアルタイムデータ分析 #seccamp
Masahiro NAKAYAMA
?
PDF
Bee Style:vol.027
Tsuyoshi Horigome
?
PDF
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
Insight Technology, Inc.
?
PDF
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
Hidemasa Togashi
?
PDF
尝辞驳颈肠补诲の秒间16万リクエストをさばく広告入札システムにおける、驳搁笔颁の活用事例
Hironobu Isoda
?
PPT
PSpiceの活用方法 (2005年)
Tsuyoshi Horigome
?
PDF
BeeStyle: vol.022
Tsuyoshi Horigome
?
PPTX
エッジヘビーコンピューティングと机械学习
Preferred Networks
?
PPTX
尝罢蝉辫颈肠别超入门
Tsuyoshi Horigome
?
PDF
Show and tell takmin
Takuya Minagawa
?
PDF
Bee Style:vol.041
Tsuyoshi Horigome
?
PDF
1000人規模て?使う分析基盤構築 ?redshiftを活用したeuc
Kazuhiro Miyajima
?
PDF
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
Insight Technology, Inc.
?
PDF
ハードウェアによる仮想化支援机能を利用したハイパバイザー滨笔厂
FFRI, Inc.
?
PPTX
笔补肠办别迟产别补迟の基础から、滨辞罢デバイス异常検知への応用まで
Satoyuki Tsukano
?
PDF
変わる!? リクルートグループのデータ解析基盤
Recruit Technologies
?
PDF
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM,INC
?
アドテク×厂肠补濒补×パフォーマンスチューニング
Yosuke Mizutani
?
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
SORACOM,INC
?
シスコ装置を使い倒す!组込み机能による可视化からセキュリティ强化
シスコシステムズ合同会社
?
クラウドではじめるリアルタイムデータ分析 #seccamp
Masahiro NAKAYAMA
?
Bee Style:vol.027
Tsuyoshi Horigome
?
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
Insight Technology, Inc.
?
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
Hidemasa Togashi
?
尝辞驳颈肠补诲の秒间16万リクエストをさばく広告入札システムにおける、驳搁笔颁の活用事例
Hironobu Isoda
?
PSpiceの活用方法 (2005年)
Tsuyoshi Horigome
?
BeeStyle: vol.022
Tsuyoshi Horigome
?
エッジヘビーコンピューティングと机械学习
Preferred Networks
?
尝罢蝉辫颈肠别超入门
Tsuyoshi Horigome
?
Show and tell takmin
Takuya Minagawa
?
Bee Style:vol.041
Tsuyoshi Horigome
?
1000人規模て?使う分析基盤構築 ?redshiftを活用したeuc
Kazuhiro Miyajima
?
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
Insight Technology, Inc.
?
ハードウェアによる仮想化支援机能を利用したハイパバイザー滨笔厂
FFRI, Inc.
?
笔补肠办别迟产别补迟の基础から、滨辞罢デバイス异常検知への応用まで
Satoyuki Tsukano
?
変わる!? リクルートグループのデータ解析基盤
Recruit Technologies
?
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM,INC
?
Ad

ストリーム処理と厂别苍蝉辞谤叠别别

  • 2. 自己紹介 ? 田中大輔 (@disktnk) – ?2008 理工学部機械工学科卒 – ?2015 某金融SIer – 最後は金融工学ライブラリ屋さん – 2015? 某???社 – アニオタ枠採用 – SensorBee 開発 – 他、最近は製造業系の案件に関わっている 2
  • 3. 本日話す内容 ? なぜSensorBeeを必要としていたか (?3分) ? ストリーム処理の基本とSensorBeeでの実現 (15?20分) ? 質問 – 時間が余るようでしたら、SensorBeeを使用したデモ(動画)を何個かお見せします。 ? 本日のNGワード: 人工知能、リアルタイム 3
  • 4. 本日話す内容 ? なぜSensorBeeを必要としていたか (?3分) ? ストリーム処理の基本とSensorBeeでの実現 (15?20分) ? 質問 – 時間が余るようでしたら、SensorBeeを使用したデモを何個かお見せします。 4
  • 5. ? データの中央集権的収集は困難になる – データ量の問題: 日本にある監視カメラ?スマートフォンの生成データは推定1,000PB/Year – プライバシーの問題: クラウドへデータをアップロードしたくない?できない – 情報量の問題: データ量に反して生成データの価値密度は薄い 5 IoTアプリケーションの直面する課題
  • 6. ? データを一か所に集めない前提のもとで深い分析を実現する – ネットワークのエッジ上のデバイスのローカルでデータを解析 – 学習モデルなど抽出された情報だけがクラウド上に挙げられ、大域的な解析を行う 6 エッジヘビーコンピューティング
  • 7. ? Deep Learning + Edge-Heavy Networking – Chainer – SensorBee 7 シームレスなデータ活用
  • 8. 参考: Deep Intelligence in-Motion (DIMo) 8 Industries (Partners)Industries (PFN-involved) SensorBee?: Streaming Processing Engine for IoT Machine learning Deep Learning Auto Manufacturing Self-driving /ADAS Connected Optimization Predictive maintenance Healthcare Drug discovery iPS cell Retail CRM Ad optimization Surveillance Security Tracking DeepIntelligence in-Motion(DIMo) Statistics Tools Computer vision Detect/Track/Rec ognize Reinforcement learning Distributed/Curri culum Time-series RNN / Representation Sensor fusion Multi-modal Annotation Hawk Feedback/Action User applications Camera UI Kanohi … Libraries Management
  • 9. 本日話す内容 ? なぜSensorBeeを必要としていたか (?3分) ? ストリーム処理の基本とSensorBeeでの実現 (15?20分) ? 質問 – 時間が余るようでしたら、SensorBeeを使用したデモを何個かお見せします。 9
  • 10. 1. (Cotinuous) Queryの登録 2. データを流す、あるいは既に流れている 3. 入力されたデータに対して処理を行う “on the fly” 4. 処理結果を(クライアントに対して)継続的に出力する Data Stream Management System(DSMS) 10 Continuous Queries Streaming Inputs Streaming Outputs data stream 1 3 42
  • 11. DBMSとDSMSの比較 11 DBMS DSMS Data persistent relations streams, time windows Data access random sequential, one-pass Updates arbitrary append-only Update rates relatively low high, bursty Processing model query-driven (pull-based) data-driven (push-based) Queries one-time continuous Query plans fixed adaptive Query optimization one query multi-query Query answers exact exact or approximate Latency relatively high low [Golab et al., 2010] p3 “Summary of differences between a DBMS and a DSMS”
  • 12. Continuous Queryのセマンティクス ? Operators – 入力された1つあるいは複数のデータに対して処理する単位。 – stream-to-relation, relation-to-relation, relation-to-stream ? Queues – Operator間のデータ。SensorBeeでは1つのデータをTupleと呼ぶ。 ? Synopses – ストリームの操作や状態1つ1つの(簡易)表現の単位。Operatorとは独立してQuery Planの最適化を考えるとき便利。SensorBeeでは特に定義していない。 12 [Aras et al., 2006] [Jain et al., 2008]
  • 13. Continuous Query Operators: シンプルな例 ? selection ? join ? count 13 σa S1 a a a a f pass or drop ? S1 b d c a d b a insert S2 b d g f e probe 9S1 10 9 8 7 update (to “10”) b a f generate result b
  • 14. Continuous Query Operator TypeとBQL ? BQL (SensorBeeで実装されているCQLの方言) のサンプル 14 SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2 FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES] WHERE S1:id = S2:id;
  • 15. BQL: Stream-to-Relation ? BQLサンプル – Tuple based: [RANGE 1 TUPLES] Time based: [RANGE 1 SECONDS] – Buffering: [RANGE 3 SECONDS, DROP NEWEST IF FULL] – Sliding Window, Tumbling Window (SensorBeeでは未サポート) – セマンティクスが難しい。。 15 SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2 FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES] WHERE S1:id = S2:id; stream-to-relation
  • 16. BQL: Relation-to-Relation ? BQLサンプル – Selection – Join – Aggregation – Filter etc... 16 SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2 FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES] WHERE S1:id = S2:id; relation-to-relation
  • 17. BQL: Relation-to-Stream ? BQLサンプル – RSTREAM / ISTREAM / DSTREAM Example: http://sensorbee.readthedocs.org/en/latest/bql.html#id4 – Detail: http://sensorbee.readthedocs.org/en/latest/bql.html#relation-to- stream-operators 17 SELECT RSTREAM S1.id, S1.hoge1, S2.hoge2 FROM S1 [RANGE 1 TUPLES], S2 [RANGE 1 TUPLES] WHERE S1:id = S2:id; relation-to-stream
  • 19. SensorBee: Source ? Source – Topologyへの入力を表現するComponent 19 Continuous QueriesSources data stream S1 S2 S3 CREATE SOURCE S1 TYPE fluentd WITH ...; CREATE SOURCE S2 TYPE mqtt WITH ...; CREATE SOURCE S3 TYPE user_source WITH ...;
  • 20. SensorBee: Stream ? Stream – Tupleへの操作 (内部実装的には “Box”) 20 Streams Sources S1 S2 S3 CREATE STREAM B1 AS SELECT ISTREAM udf1(*) FROM S1 [RANGE 1 SECONDS], S2 [RANGE 1SECONDS] WHERE S1:id = S2:id; B1 B3 B2
  • 21. SensorBee: Sink ? Sink – Topologyからの出力を定義する 21 Streams Sources S1 S2 S3 B1 B3 B2 Sinks D1 D2 D3 CREATE SINK D1 TYPE fluentd WITH ...; INSERT INTO D1 FROM B1; CREATE SINK D2 TYPE mqtt WITH ...; CREATE SINK D3 TYPE user_sink WITH ...;
  • 22. SensorBee: User Defined Stream Function (UDSF) ? UDSF – 新たなSourceとして振る舞えるユーザ定義関数 22 Streams Sources S1 S2 S3 B1 B3 B2 Sinks D1 D2 D3 CREATE SOURCE B2 AS SELECT RSTREAM * FROM udsf1(“S2”) [RANGE 1 SECONDS];
  • 23. SensorBee: User Defined State (UDS) ? UDS – ストリーム上の各Componentから共通でアクセスできるShared State 23 Streams Sources S1 S2 S3 B1 B3 B2 Sinks D1 D2 D3 CREATE STATE G1 TYPE user_state WITH...; CREATE SOURCE B3 AS SELECT ISTREAM * udf3(“G1”, B2:*), S3:* FROM B2 [RANGE 1 SECONDS], S3 [RANGE 1 SECONDS] WHERE B2:foo = S3:foo; G1
  • 24. Example: Twitterのつぶやきの分類 ? 機械学習と組み合わせたデモ – Tutorial収録 http://sensorbee.readthedocs.org/en/latest/tutorial.html#using- machine-learning – 贰濒补蝉迟颈肠蝉别补谤肠丑と机械学习を実际に连携させる http://www.slideshare.net/nobu_k/elasticsearch-59627321 24 Twitter Gen der Ag e Form atting Form atting Form atting Labeli ng fluentd
  • 26. 参考文献 ? A. Arasu, S. Badu, and J. Widom. The CQL continuous query language: Semantic foundations and query execution, 2006. ? N. Jain, S. Mishra, A. Srinivasan, J. Gehrke, J. Widom, H. Balakrishnam, U. Cetintemel, M. Cheriniack, R. Tibbertts, and S. Zdonik. Towerds a streaming SQL standard, 2008. ? Lukasz Golab, M. Tamer ?zsu. Data Stream Management, 2010. 26

Editor's Notes

  • #9: 顿滨惭辞の説明のための図、详しい説明はしない