批次處理擴充

串流概念

Mike Metzger

Data Engineer

什麼是擴充?

  • 提升效能
    • 加速處理
      • 同量資料所需時間更短
    • 處理更多資料
      • 相同時間內處理更多資料
串流概念

垂直擴充

  • 更強的硬體
    • 更快的 CPU
    • 更快的 IO
    • 更多記憶體
  • 通常是最容易的擴充方式
    • 複雜度最低
    • 很少需要更改底層程式或演算法

CPU

記憶體

1 Images courtesy https://unsplash.com/@jeremy0
串流概念

垂直擴充缺點

  • 本質上有上限
  • 可能昂貴/投報率低
  • 產業進步不保證
串流概念

水平擴充

  • 將任務拆分為多個部分
    • 更多電腦
    • 也可能是更多 CPU
  • 最適合「極易並行」的任務
    • 可輕易分配給多個工作者的任務
  • 可能非常具成本效益
  • 某些流程可達到近乎線性的效能提升

CPU1

CPU2

CPU3

CPU4

串流概念

水平擴充缺點

  • 複雜度
    • 需要處理框架(如 Apache Spark 或 Dask)
    • 需要更廣的網路連線
  • 持續管理
  • 依需求可能昂貴
  • 「不可並行」的任務
串流概念

一起來練習吧!

串流概念

Preparing Video For Download...