Skalning av batchbearbetning

Streamingkoncept

Mike Metzger

Data Engineer

Vad är skalning?

  • Förbättra prestanda
    • Bearbeta snabbare
      • Kortare tid för samma datamängd
    • Bearbeta mer data
      • Mer data bearbetas på samma tid
Streamingkoncept

Vertikal skalning

  • Bättre hårdvara
    • Snabbare CPU
    • Snabbare I/O
    • Mer minne
  • Vanligtvis den enklaste typen av skalning
    • Minst komplexitet
    • Kräver sällan ändringar i program eller algoritmer

CPU

Minne

1 Bilder med tillstånd från https://unsplash.com/@jeremy0
Streamingkoncept

Nackdelar med vertikal skalning

  • Är begränsad till sin natur
  • Kan vara dyrt med låg ROI
  • Branschförbättringar är inte garanterade
Streamingkoncept

Horisontell skalning

  • Dela upp en uppgift i flera delar
    • Fler datorer
    • Eller fler CPU:er
  • Fungerar bäst för "generande parallella" uppgifter
    • Uppgifter som enkelt kan fördelas mellan noder
  • Kan vara mycket kostnadseffektivt
  • Kan ge nästan linjära prestandaförbättringar för vissa processer

CPU1

CPU2

CPU3

CPU4

Streamingkoncept

Nackdelar med horisontell skalning

  • Komplexitet
    • Kräver ett bearbetningsramverk (t.ex. Apache Spark eller Dask)
    • Kräver mer omfattande nätverksinställningar
  • Löpande hantering
  • Kan vara dyrt beroende på krav
  • "Icke-parallella" uppgifter
Streamingkoncept

Nu kör vi en övning!

Streamingkoncept

Preparing Video For Download...