Data Pipeline

O conductă de date este o serie de etape de procesare a datelor. În cazul în care datele nu sunt încărcate în prezent în platforma de date, atunci acestea sunt ingerate la începutul conductei. Apoi, există o serie de etape în care fiecare etapă oferă o ieșire care este intrarea următoarei etape. Acest lucru continuă până când conducta este completă. În unele cazuri, pașii independenți pot fi executați în paralel.

Piesele de date constau din trei elemente cheie: o sursă, un pas sau pași de procesare și o destinație. În unele conducte de date, destinația poate fi numită „sink”. Conductele de date permit fluxul de date de la o aplicație la un depozit de date, de la un lac de date la o bază de date analitică sau într-un sistem de procesare a plăților, de exemplu. Conductele de date pot avea, de asemenea, aceeași sursă și aceeași sursă, astfel încât conducta se referă pur și simplu la modificarea setului de date. De fiecare dată când datele sunt procesate între punctul A și punctul B (sau punctele B, C și D), există o conductă de date între aceste puncte.

Atunci când organizațiile caută să construiască aplicații cu baze de coduri mici, care servesc unui scop foarte specific (aceste tipuri de aplicații se numesc „microservicii”), ele transferă date între tot mai multe aplicații, ceea ce face ca eficiența conductelor de date să fie un aspect critic în planificarea și dezvoltarea acestora. Datele generate într-un sistem sursă sau într-o aplicație pot alimenta mai multe conducte de date, iar aceste conducte pot avea mai multe alte conducte sau aplicații care depind de ieșirile lor.

Considerați un singur comentariu pe social media. Acest eveniment ar putea genera date pentru a alimenta un raport în timp real care numără mențiunile din social media, o aplicație de analiză a sentimentului care produce un rezultat pozitiv, negativ sau neutru sau o aplicație care trasează grafic fiecare mențiune pe o hartă a lumii. Deși datele provin din aceeași sursă în toate cazurile, fiecare dintre aceste aplicații este construită pe conducte de date unice care trebuie să se completeze fără probleme înainte ca utilizatorul final să vadă rezultatul.

Pasii comuni în conductele de date includ transformarea datelor, mărirea, îmbogățirea, filtrarea, gruparea, agregarea și rularea algoritmilor pe baza acelor date.

Ce este un Big Data Pipeline?

Cum volumul, varietatea și viteza datelor au crescut dramatic în ultimii ani, arhitecții și dezvoltatorii au trebuit să se adapteze la „big data”. Termenul „big data” implică faptul că există un volum imens de gestionat. Acest volum de date poate deschide oportunități pentru cazuri de utilizare, cum ar fi analiza predictivă, raportarea în timp real și alertele, printre multe alte exemple.

Ca multe componente ale arhitecturii de date, conductele de date au evoluat pentru a susține big data. Conductele de date mari sunt conducte de date construite pentru a găzdui una sau mai multe dintre cele trei trăsături ale datelor mari. Viteza volumului mare de date face atractivă construirea de conducte de streaming de date pentru big data. Apoi, datele pot fi capturate și procesate în timp real, astfel încât să poată avea loc apoi anumite acțiuni. Volumul de date mari necesită ca conductele de date să fie scalabile, deoarece volumul poate fi variabil în timp. În practică, este probabil să existe multe evenimente de date mari care au loc simultan sau foarte aproape unul de celălalt, astfel încât conducta de date mari trebuie să fie capabilă să se adapteze pentru a procesa volume semnificative de date în mod simultan. Varietatea de date mari necesită ca conductele de date mari să fie capabile să recunoască și să proceseze date în multe formate diferite – structurate, nestructurate și semistructurate.

Conducte de date vs. ETL

ETL se referă la un tip specific de conducte de date. ETL înseamnă „extragere, transformare, încărcare”. Este procesul de mutare a datelor de la o sursă, cum ar fi o aplicație, la o destinație, de obicei un depozit de date. „Extragerea” se referă la extragerea datelor dintr-o sursă; „transformarea” se referă la modificarea datelor astfel încât acestea să poată fi încărcate la destinație, iar „încărcarea” se referă la inserarea datelor la destinație.

ETL a fost utilizat în mod istoric pentru sarcini de lucru pe loturi, în special la scară mare. Dar o nouă rasă de instrumente ETL de streaming apar ca parte a pipeline-ului pentru streamingul de date de evenimente în timp real.

Considerații privind pipeline-ul de date

Arhitecturile de pipeline de date necesită multe considerații. De exemplu, conducta dvs. trebuie să gestioneze date în flux continuu? La ce rată de date vă așteptați? Cât de mult și ce tipuri de procesare trebuie să aibă loc în conducta de date? Datele sunt generate în cloud sau on-premise și unde trebuie să ajungă? Intenționați să construiți pipeline-ul cu microservicii? Există tehnologii specifice în care echipa dvs. este deja bine versată în programare și întreținere?

Exemple de arhitectură

Puterele de date pot fi arhitecturate în mai multe moduri diferite. Un exemplu comun este o conductă de date bazată pe loturi. În acest exemplu, este posibil să aveți o aplicație, cum ar fi un sistem de puncte de vânzare, care generează un număr mare de puncte de date pe care trebuie să le trimiteți către un depozit de date și o bază de date analitice. Iată un exemplu de cum ar arăta acest lucru:

Exemplu de conductă de date
Un exemplu de bază al unei conducte de date.

Un alt exemplu este o conductă de date în flux. Într-o conductă de date în flux, datele de la sistemul de puncte de vânzare ar fi procesate pe măsură ce sunt generate. Motorul de procesare în flux ar putea alimenta ieșirile din conductă către magazinele de date, aplicațiile de marketing și CRM, printre alte aplicații, precum și înapoi în sistemul de punct de vânzare propriu-zis.

Diagramă de conductă de date în flux
Această diagramă modelează o conductă de date în flux. Fluxul de date este este gestionat de cadrul de procesare a fluxului, unde poate fi procesat și livrat aplicațiilor și/sau soluțiilor.

Un al treilea exemplu de conductă de date este arhitectura Lambda, care combină conductele batch și de flux într-o singură arhitectură. Arhitectura Lambda este populară în mediile de date mari, deoarece permite dezvoltatorilor să țină cont atât de cazurile de utilizare a streaming-ului în timp real, cât și de analizele batch istorice. Un aspect cheie al acestei arhitecturi este faptul că încurajează stocarea datelor în format brut, astfel încât să puteți rula continuu noi conducte de date pentru a corecta orice erori de cod din conductele anterioare sau pentru a crea noi destinații de date care să permită noi tipuri de interogări.

Diagrama arhitecturii Lambda
Arhitectura Lambda ține cont atât de o conductă tradițională de date pe loturi, cât și de o conductă de flux de date în timp real. De asemenea, are un strat de servire care răspunde la interogări.

Subiecte conexe

Streaming ETL

Arhitectura Lambda

Procesare în flux

Stream Processing

.

Lasă un comentariu