Scalarea procesării în loturi

Concepte de streaming

Mike Metzger

Data Engineer

Ce este scalarea?

  • Îmbunătățirea performanței
    • Procesare mai rapidă
      • Mai puțin timp pentru aceeași cantitate de date
    • Procesare mai multă date
      • Mai multe date procesate în același interval de timp
Concepte de streaming

Scalarea verticală

  • Hardware mai performant
    • CPU mai rapid
    • IO mai rapid
    • Memorie mai mare
  • De obicei, cel mai simplu tip de scalare
    • Complexitate redusă
    • Rareori necesită modificarea programelor / algoritmilor

CPU

Memorie

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

Dezavantajele scalării verticale

  • Prin natură limitată
  • Poate fi costisitoare / ROI scăzut
  • Îmbunătățirile din industrie nu sunt garantate
Concepte de streaming

Scalarea orizontală

  • Împărțirea unei sarcini în mai multe părți
    • Mai multe calculatoare
    • Sau mai multe CPU-uri
  • Ideal pentru sarcini „embarrassingly parallel"
    • Sarcini ușor de distribuit între noduri
  • Poate fi foarte eficient din punct de vedere al costurilor
  • Poate oferi îmbunătățiri aproape liniare pentru anumite tipuri de procese

CPU1

CPU2

CPU3

CPU4

Concepte de streaming

Dezavantajele scalării orizontale

  • Complexitate
    • Necesită un framework de procesare (ex. Apache Spark sau Dask)
    • Necesită rețele mai extinse
  • Administrare continuă
  • Poate fi costisitor în funcție de cerințe
  • Sarcini „non-paralele"
Concepte de streaming

Să exersăm!

Concepte de streaming

Preparing Video For Download...