The Dataflow Model を読んだ
どんなもの?
- unbounded で順不同なデータを処理する上で、正確性、latency、costをいい感じにするアプローチについての考察
先行研究とくらべて何がすごい?
- 既存の考え方では、unboundedなデータに終わりがあると考えているのがおかしい
- データの総量がどれくらいで、全てのデータがいつ揃うかということは考えない
- ただ新しいデータが来て、古いデータは撤回されるということだけを考える
技術や手法の肝は?
- 下記が肝
- windowing model
- triggering model
- incrementral processing model
- scalable implementation
- Windowing
- Time domain
- Event Time
- イベントが実際に起こった時間
- Processing Time
- pipelineでそのイベントが観測された時間
- Event Time
- Window Mergingの流れ
Triggers & Incremental Processing
- Windowing
- event timeのどの時点でデータがグループ化されるのかを決定する
- Triggering
- processing timeのどの時点でグループ化の結果がemitされたかを決定する
- Windowing
どうやって有効と検証した?
- FlumeJavaとMillWheelを用いて、Googleの実際のプロダクトに実装した
- Youtube(Session window), Recommendation(Processing Time Triggers)等