バッチ処理 vs ストリーミング

ストリーミングの基礎概念

Mike Metzger

Data Engineer

クイックレビュー

  • バッチ処理はデータをまとまり(バッチ)で扱います
  • 重要なのはバッチのサイズ頻度です
  • キューは挿入でデータを保存・処理します
  • キューはバッチ(バッチサイズ1)です!
  • ストリームは途中で止めずに処理します
  • ストリームには終わりが定義されません
  • ストリームは順序を保持します!
ストリーミングの基礎概念

火災対応!

  • バケツリレー
    • バッチサイズ(バケツがどれだけ大きいか
    • バッチ頻度(バケツをどれだけ速く渡すか)

バケツリレー

  • 消火ホース
    • データは連続的
    • 水量がどれだけか不明

消火ホース

1 Albert B. Kinne, Public domain, via Wikimedia Commons 2 Commander, U.S. Naval Forces Europe-Africa/U.S. 6th Fleet, Public domain, via Wikimedia Commons
ストリーミングの基礎概念

最適な方法の見極め方

  • 要件によります
  • まとまりで処理できるなら、簡潔なバッチが有利なことが多い
  • 順序が必要で、一時停止可ならキュー
  • 連続データが必要、または量が不明ならストリーミング
  • データ処理が終わるまで止められないならストリーミング
ストリーミングの基礎概念

Let's practice!

ストリーミングの基礎概念

Preparing Video For Download...