Scalare l’elaborazione batch
Concetti di Streaming
Mike Metzger
Data Engineer
Cos’è lo scaling?
Migliorare le
prestazioni
Elaborare
più velocemente
Meno tempo per la stessa quantità di dati
Elaborare
più dati
Più dati nello stesso tempo
Scaling verticale
Hardware migliore
CPU più veloce
IO più veloce
Più memoria
In genere il tipo di scaling
più semplice
Meno complessità
Raramente richiede cambiare programmi/algoritmi
1
Immagini per gentile concessione di https://unsplash.com/@jeremy0
Svantaggi dello scaling verticale
Limitato
per natura
Può essere
costoso
/ ROI basso
I miglioramenti del settore non sono
garantiti
Scaling orizzontale
Suddividere
un’attività in più parti
Più computer
Possono anche essere più CPU
Meglio per attività
"ampiamente parallelizzabili"
Facili da distribuire tra i worker
Può essere molto
conveniente
Può avere
miglioramenti quasi lineari
per certi processi
Svantaggi dello scaling orizzontale
Complessità
Richiede un framework (es. Apache Spark o Dask)
Richiede più rete
Gestione continua
Può essere
costoso
a seconda dei requisiti
Attività
"non parallele"
Passons à la pratique !
Concetti di Streaming
Preparing Video For Download...