04 リアルタイム集計 · インストラクター
インクリメンタルな MV の挙動と中間値のセマンティクスを明示する。
macOS terminal: Run workshop commands in Terminal using zsh or bash.
タイミング
20 分。
トークトラック
- MV が処理するのは挿入されたブロックです。ダッシュボードを更新するたびに履歴を再スキャンするわけではありません。
State関数は部分的な集計状態を保存し、対応するMerge関数がそれを確定させます。- OHLC はクォート中間値だけを使います。注文レベルの変更価格と最終取引価格を混ぜると、 チャートは無意味になります。
- MV が行を見る前に collector が重複を排除します。事後的な
ReplacingMergeTreeでは 集計の二重計上を取り消せません。
よくある失敗
- 集計が空: 生の中間値の行が存在するか、そして MV が取り込み開始前に作成されたかを確認します。
- MV の作成が遅かった: 作成後に fixture モードを再起動するか、新しい行だけで受け入れます。
- 最新の 1 分が古い: SQL のデバッグの前に collector のヘルスを確認します。
リセット
生データを削除せずに集計をやり直すには、ターゲットと MV を作り直し、新しいイベントで埋めさせます。
OPTIMIZE TABLE FINAL は実行しないでください。