Batchverwerking schalen

Streaming-concepten

Mike Metzger

Data Engineer

Wat is schalen?

  • Prestatie verbeteren
    • Sneller verwerken
      • Minder tijd voor dezelfde hoeveelheid data
    • Meer data verwerken
      • Meer data in dezelfde tijd
Streaming-concepten

Verticaal schalen

  • Betere hardware
    • Snellere CPU
    • Snellere IO
    • Meer geheugen
  • Meestal de eenvoudigste vorm van schalen
    • Minste complexiteit
    • Zelden wijzigingen aan onderliggende programma’s/algoritmen nodig

CPU

Geheugen

1 Afbeeldingen met dank aan https://unsplash.com/@jeremy0
Streaming-concepten

Nadelen van verticaal schalen

  • Van nature beperkt
  • Kan duur zijn / lage ROI
  • Vooruitgang in de industrie is niet gegarandeerd
Streaming-concepten

Horizontaal schalen

  • Opsplitsen van een taak in meerdere delen
    • Meer computers
    • Kan ook meer CPU’s zijn
  • Werkt het best voor ‘embarrassingly parallel’ taken
    • Taken die eenvoudig te verdelen zijn over workers
  • Kan zeer kosteneffectief zijn
  • Kan bijna-lineaire snelheidswinst geven voor bepaalde processen

CPU1

CPU2

CPU3

CPU4

Streaming-concepten

Nadelen van horizontaal schalen

  • Complexiteit
    • Vereist een verwerkingsframework (zoals Apache Spark of Dask)
    • Vereist uitgebreidere netwerken
  • Doorlopend beheer
  • Kan duur zijn, afhankelijk van eisen
  • ‘Niet-parallelle’ taken
Streaming-concepten

Laten we oefenen!

Streaming-concepten

Preparing Video For Download...