Mise à l'échelle du traitement par lots

Concepts de streaming

Mike Metzger

Data Engineer

Qu'est-ce que la mise à l'échelle ?

  • Améliorer les performances
    • Traiter plus vite
      • Moins de temps pour le même volume de données
    • Traiter plus de données
      • Plus de données traitées dans le même temps
Concepts de streaming

Mise à l'échelle verticale

  • Meilleur matériel
    • CPU plus rapide
    • E/S plus rapides
    • Plus de mémoire
  • En général la mise à l'échelle la plus simple
    • Moins de complexité
    • Change rarement les programmes / algorithmes sous-jacents

CPU

Mémoire

1 Images : https://unsplash.com/@jeremy0
Concepts de streaming

Inconvénients de la mise à l'échelle verticale

  • Limitée par nature
  • Peut être coûteuse / ROI faible
  • Les progrès du secteur ne sont pas garantis
Concepts de streaming

Mise à l'échelle horizontale

  • Découper une tâche en plusieurs parties
    • Plus d'ordinateurs
    • Ou plus de CPU
  • Idéal pour les tâches « hautement parallélisables »
    • Tâches faciles à répartir entre les travailleurs
  • Peut être très rentable
  • Peut offrir des gains quasi linéaires pour certains processus

CPU1

CPU2

CPU3

CPU4

Concepts de streaming

Inconvénients de la mise à l'échelle horizontale

  • Complexité
    • Nécessite un framework de traitement (comme Apache Spark ou Dask)
    • Nécessite plus de réseau
  • Gestion continue
  • Peut être coûteuse selon les besoins
  • Tâches « non parallèles »
Concepts de streaming

Passons à la pratique !

Concepts de streaming

Preparing Video For Download...