Înțelegerea procesării în loturi și flux

Finalizat

Procesarea datelor este pur și simplu conversia datelor brute în informații semnificative printr-un proces. Există două modalități generale de procesare a datelor:

  • Procesarea pe loturi, în care sunt colectate și stocate mai multe înregistrări de date înainte de a fi procesate împreună într-o singură operațiune.
  • Procesarea fluxului, în care o sursă de date este monitorizată și procesată în mod constant în timp real, pe măsură ce au loc evenimente de date noi.

Înțelegerea procesării pe loturi

În procesarea pe loturi, elementele de date nou sosite sunt colectate și stocate, iar întregul grup este procesat împreună ca grup. Exact atunci când fiecare grup este procesat poate fi determinat în mai multe moduri. De exemplu, puteți procesa date pe baza unui interval de timp planificat (de exemplu, la fiecare oră) sau poate fi declanșat atunci când a sosit o anumită cantitate de date sau ca urmare a unui alt eveniment.

De exemplu, să presupunem că doriți să analizați traficul rutier prin numărarea numărului de mașini pe o întindere de drum. O abordare de prelucrare pe loturi a acestui lucru ar necesita să colectați mașinile într-o parcare, și apoi să le numărați într-o singură operațiune în timp ce sunt în repaus.

Diagrama de masini fiind numărate într-o parcare.

În cazul în care drumul este ocupat, cu un număr mare de mașini care conduc de-a lungul unor intervale frecvente, această abordare poate fi imposibilă; și rețineți că nu obțineți niciun rezultat până când nu ați parcat o serie de mașini și le-ați numărat.

Un exemplu real de procesare pe loturi este modul în care firmele cu carduri de credit gestionează facturarea. Clientul nu primește o factură pentru fiecare achiziție separată a cardului de credit, ci o factură lunară pentru toate achizițiile de luna respectivă.

Printre avantajele procesării pe loturi se numără:

  • Volume mari de date pot fi procesate la un moment convenabil.
  • Acesta poate fi programat să ruleze la un moment dat, când computerele sau sistemele ar putea fi inactive, cum ar fi peste noapte sau în afara orelor de vârf.

Dezavantajele prelucrării pe loturi includ:

  • Timpul întârziat între ingerarea datelor și obținerea rezultatelor.
  • Toate datele de intrare ale unei lucrări pe loturi trebuie să fie pregătite înainte ca un lot să poată fi procesat. Aceasta înseamnă că datele trebuie verificate cu atenție. Problemele cu datele, erorile și căderile de program care apar în timpul lucrărilor pe loturi aduc întregul proces la o oprire. Datele de intrare trebuie verificate cu atenție înainte ca lucrarea să poată rula din nou. Chiar și erorile minore de date pot împiedica rularea unei activități pe loturi.

Înțelegerea procesării fluxului

În timpul procesării în flux, fiecare fragment nou de date este procesat atunci când sosește. Spre deosebire de procesarea pe loturi, nu există așteptare până la următorul interval de procesare a lotului - datele sunt procesate ca unități individuale în timp real, în loc să fie procesate un lot la un moment rând. Procesarea în flux a datelor este benefică în scenariile în care sunt generate în mod continuu date noi, dinamice.

De exemplu, o abordare mai bună a problemei noastre ipotetice de contorizare a mașinilor ar putea fi să aplicați o abordare de redare în flux , numărând mașinile în timp real pe măsură ce trec:

Diagrama mașinilor care sunt numărate pe măsură ce trec.

În această abordare, nu trebuie să așteptați până când toate mașinile au parcat pentru a începe procesarea acestora și puteți agrega datele în intervale de timp; de exemplu, prin numărarea numărului de mașini care trec de fiecare minut.

Printre exemplele reale de date de redare în flux se numără:

  • O instituție financiară urmărește modificările pieței bursiere în timp real, calculează valoarea la risc și reechilibrează automat portofolii pe baza mișcărilor prețurilor acțiunilor.
  • O companie de jocuri online colectează date în timp real despre interacțiunile dintre jucători și alimentează datele în platforma sa de jocuri. Apoi analizează datele în timp real, oferă stimulente și experiențe dinamice pentru a-și angaja jucătorii.
  • Un site web imobiliar care urmărește un subset de date de pe dispozitive mobile și face recomandări în timp real de proprietăți ale proprietăților pe baza locației lor geografice.

Procesarea fluxului este ideală pentru operațiunile critice în timp care necesită un răspuns în timp real. De exemplu, un sistem care monitorizează o clădire pentru fum și căldură trebuie să declanșeze alarme și să deblocheze uși pentru a permite rezidenților să scape imediat în caz de incendiu.

Înțelegerea diferențelor dintre datele pe loturi și redarea în flux

În afară de modul în care procesarea pe loturi și procesarea în flux a datelor de tratare a fluxului, există și alte diferențe:

  • Domeniu de date: Procesarea pe loturi poate procesa toate datele din setul de date. Procesarea fluxului are de obicei acces doar la cele mai recente date primite sau într-o fereastră de timp de rulare (ultimele 30 de secunde, de exemplu).

  • Dimensiune date: Procesarea pe loturi este potrivită pentru manipularea eficientă a seturilor mari de date. Procesarea fluxului este destinată înregistrărilor individuale sau a micro loturilor constând din câteva înregistrări.

  • Performanță: Latența este timpul necesar pentru ca datele să fie primite și procesate. Latența pentru procesarea pe loturi este de obicei câteva ore. Procesarea fluxului are loc de obicei imediat, cu latență în ordinea secundelor sau milisecundelor.

  • Analiză: Utilizați de obicei procesarea pe loturi pentru a efectua analize complexe. Procesarea fluxului este utilizată pentru funcții simple de răspuns, agregate sau calcule, cum ar fi mediile de rulare.

Combinarea procesării în flux și pe loturi

Multe soluții de analiză la scară largă includ o combinație de procesare pe loturi și flux, permițând atât analiza istorică, cât și în timp real a datelor. Este comun ca soluțiile de procesare în flux să captureze date în timp real, să le proceseze prin filtrare sau agregare și să le prezinte prin tablouri de bord și vizualizări în timp real (de exemplu, afișând totalul parțial de mașini care au trecut pe un drum în intervalul orei curente), menținând, de asemenea, rezultatele procesate într-un depozit de date pentru analiza istorică alături de datele procesate pe loturi (de exemplu, pentru a permite analiza volumelor de trafic în ultimul an).

Chiar și atunci când nu este necesară analiza în timp real sau vizualizarea datelor, tehnologiile de redare în flux sunt utilizate adesea pentru a captura date în timp real și a le stoca într-un depozit de date pentru procesarea ulterioară a loturilor (aceasta este echivalentă cu redirecționarea tuturor mașinilor care călătoresc pe un drum într-o parcare înainte de a le număra).

Diagrama următoare afișează câteva moduri în care procesarea în flux și pe loturi poate fi combinată într-o arhitectură de analiză a datelor la scară largă.

Diagrama unei arhitecturi de analize de date care include procesarea pe loturi și flux.

  1. Evenimentele de date de la o sursă de date de redare în flux sunt capturate în timp real.
  2. Datele din alte surse sunt ingerate într-un depozit de date (adesea un lac de date) pentru procesarea în loturi.
  3. Dacă nu este necesară analiza în timp real, datele de redare în flux capturate sunt scrise în depozitul de date pentru procesarea ulterioară a grupului.
  4. Atunci când sunt necesare analize în timp real, se utilizează o tehnologie de procesare a fluxului pentru pregătirea datelor în flux pentru analiză sau vizualizare în timp real; adesea prin filtrarea sau agregarea datelor prin ferestre temporale.
  5. Datele care nu sunt redate în flux sunt procesate periodic pentru a le pregăti pentru analiză, iar rezultatele sunt păstrate într-un depozit de date analitic (denumit adesea depozit de date) pentru analiza istorică.
  6. Rezultatele procesării fluxului pot fi, de asemenea, persistente în depozitul de date analitic pentru a accepta analiza istorică.
  7. Instrumentele analitice și de vizualizare sunt utilizate pentru a prezenta și a explora datele în timp real și istorice.

Notă

Arhitecturile de soluții utilizate frecvent pentru procesarea combinată a datelor în loturi și flux includ arhitecturi lambda și delta . Detaliile acestor arhitecturi sunt dincolo de domeniul de aplicare al acestui curs, dar încorporează tehnologii atât pentru procesarea pe loturi la scară largă, cât și pentru procesarea în flux în timp real, pentru a crea o soluție analitică end-to-end.