輪読会ページ

Streaming Systems 輪読会 - 第10回 (2022/11/14 19:00〜)

発表者

7章前半の資料

Streaming Systems 輪読会: Ch.7 The Practicalities of Persistent State (前半担当)

Generalized State (p.184-199)

<aside> ℹ️ 主旨

(1) Row Grouping (そのまんまグルーピング): ウィンドウに入ってきたレコードをそのままステートとして保存。トリガーが来たら集約演算をする (2) Incremental Combining (逐次合算): 集約演算が結合法則と交換法則を満たす場合に、レコードではなく部分計算結果をステートとして保存。トリガーが来たら部分計算結果をさらに集約

</aside>

<aside> ℹ️ まとめ方 書籍では以下の順序で説明されている:

(1) Generalized Stateの良さ(3つのflexibility) (2) Generalized Stateのユースケースの要件(広告コンバージョン計測) (3) ユースケース実現のコードと説明

(3)でコードで使われる要素技術が判明するまで、(1)の「何言ってんだ 🤔」感が拭えずつらかったので、このまとめでは以下の順でまとめる:

(i) Generalized Stateの良さ(3つのflexibility)と、対応する要素技術 (ii) Generalized Stateのユースケースの要件と、要素技術を使ってどう実現するかのざっくりとした説明 (iii) 要素技術が説明どおりに使われていることが実感できる箇所のコード抜粋 (iv) (i)の良さ再確認

</aside>

Generalized Stateの良さ1: Flexibility in data structures

Generalized Stateの良さ2: Flexibility in write and read granularity

Generalized Stateの良さ3: Flexibility in scheduling of processing