Procesul ETL (Extract, Transform, and Load) în depozitul de date
Ce este ETL?
ETL este un proces care extrage datele din diferite sisteme sursă, apoi transformă datele (cum ar fi aplicarea de calcule, concatenări etc.) și în cele din urmă încarcă datele în sistemul Data Warehouse. Forma completă a ETL este Extract, Transform and Load.
Este tentant să credem că crearea unui depozit de date înseamnă pur și simplu extragerea datelor din mai multe surse și încărcarea în baza de date a unui depozit de date. Acest lucru este departe de adevăr și necesită un proces ETL complex. Procesul ETL necesită contribuții active din partea diferitelor părți interesate, inclusiv dezvoltatori, analiști, testeri, directori de top și este o provocare tehnic.
Pentru a-și menține valoarea ca instrument pentru factorii de decizie, sistemul de depozit de date trebuie să se schimbe odată cu schimbările de afaceri. ETL este o activitate recurentă (zilnică, săptămânală, lunară) a unui sistem de depozit de date și trebuie să fie agilă, automatizată și bine documentată.
De ce ai nevoie de ETL?
Există multe motive pentru adoptarea ETL în organizație:
- Ajută companiile să își analizeze datele de afaceri pentru a lua decizii de afaceri critice.
- Bazele de date tranzacționale nu pot răspunde la întrebări complexe de afaceri la care se poate răspunde prin exemplul ETL.
- Un depozit de date oferă un depozit comun de date
- ETL oferă o metodă de mutare a datelor din diverse surse într-un depozit de date.
- Pe măsură ce sursele de date se modifică, Data Warehouse se va actualiza automat.
- Sistemul ETL bine proiectat și documentat este aproape esențial pentru succesul unui proiect de depozit de date.
- Permite verificarea regulilor de transformare, agregare și calcule a datelor.
- Procesul ETL permite compararea datelor mostre între sistemul sursă și sistemul țintă.
- Procesul ETL poate efectua transformări complexe și necesită o zonă suplimentară pentru stocarea datelor.
- ETL ajută la migrarea datelor într-un depozit de date. Convertiți în diferite formate și tipuri pentru a adera la un sistem consistent.
- ETL este un proces predefinit pentru accesarea și manipularea datelor sursă în baza de date țintă.
- ETL în depozitul de date oferă un context istoric profund pentru afacere.
- Ajută la îmbunătățirea productivității, deoarece codifică și reutiliza fără a fi nevoie de abilități tehnice.
Procesul ETL în depozitele de date
ETL este un proces în 3 pași
Pasul 1) Extracție
În această etapă a arhitecturii ETL, datele sunt extrase din sistemul sursă în zona de pregătire. Transformările, dacă există, sunt făcute în zona de pregătire, astfel încât performanța sistemului sursă să nu fie degradată. De asemenea, dacă datele corupte sunt copiate direct din sursă în baza de date a depozitului de date, rollback-ul va fi o provocare. Zona de pregătire oferă posibilitatea de a valida datele extrase înainte ca acestea să fie mutate în depozitul de date.
Depozitul de date trebuie să integreze sisteme care au diferite
DBMS, hardware, Operating Systems and Communication Protocols. Sursele ar putea include aplicații vechi, cum ar fi mainframe, aplicații personalizate, dispozitive punct de contact precum ATM, comutatoare de apel, fișiere text, foi de calcul, ERP, date de la furnizori, parteneri, printre altele.
Prin urmare, este nevoie de o hartă logică a datelor înainte ca datele să fie extrase și încărcate fizic. Această hartă a datelor descrie relația dintre surse și datele țintă.
Trei metode de extragere a datelor:
- Extracție completă
- Extracție parțială - fără notificare de actualizare.
- Extracție parțială - cu notificare de actualizare
Indiferent de metoda utilizată, extracția nu ar trebui să afecteze performanța și timpul de răspuns al sistemelor sursă. Aceste sisteme sursă sunt baze de date de producție în direct. Orice încetinire sau blocare ar putea afecta rezultatul final al companiei.
Unele validări se fac în timpul extracției:
- Reconciliați înregistrările cu datele sursă
- Asigurați-vă că nu sunt încărcate spam/date nedorite
- Verificarea tipului de date
- Eliminați toate tipurile de date duplicat/fragmentate
- Verificați dacă toate cheile sunt la locul lor sau nu
Pasul 2) Transformare
Datele extrase de pe serverul sursă sunt brute și nu pot fi utilizate în forma sa originală. Prin urmare, trebuie curățat, mapat și transformat. De fapt, acesta este pasul cheie în care procesul ETL adaugă valoare și modifică datele astfel încât să poată fi generate rapoarte BI perspicace.
Este unul dintre conceptele ETL importante în care aplicați un set de funcții pe datele extrase. Datele care nu necesită nicio transformare se numesc ca mișcare directă or trece prin date.
În pasul de transformare, puteți efectua operațiuni personalizate asupra datelor. De exemplu, dacă utilizatorul dorește venituri din suma vânzărilor care nu se află în baza de date. Sau dacă prenumele și numele de familie dintr-un tabel sunt în coloane diferite. Este posibil să le concatenați înainte de încărcare.
Următoarele sunt Date Integrity Probleme:
- Ortografie diferită a aceleiași persoane precum Jon, John etc.
- Există mai multe moduri de a indica numele companiei, cum ar fi Google, Google Inc.
- Utilizarea diferitelor nume precum Cleaveland, Cleveland.
- Este posibil să existe un caz în care numere de cont diferite sunt generate de diverse aplicații pentru același client.
- În unele date, fișierele necesare rămân necompletate
- Produs nevalid colectat la POS deoarece introducerea manuală poate duce la greșeli.
Validarile se fac in aceasta etapa
- Filtrare – Selectați numai anumite coloane pentru încărcare
- Utilizarea regulilor și a tabelelor de căutare pentru standardizarea datelor
- Conversia setului de caractere și manipularea codificării
- Conversia unităților de măsură, cum ar fi conversia dată și oră, conversii valutare, conversii numerice etc.
- Verificare de validare a pragului de date. De exemplu, vârsta nu poate fi mai mare de două cifre.
- Validarea fluxului de date din zona de staging la tabelele intermediare.
- Câmpurile obligatorii nu trebuie lăsate necompletate.
- Curățare (de exemplu, maparea NULL la 0 sau Sex Masculin la „M” și Femeie la „F” etc.)
- Împărțiți o coloană în multipli și îmbinați mai multe coloane într-o singură coloană.
- Transpunerea rândurilor și coloanelor,
- Utilizați căutări pentru a îmbina datele
- Folosind orice validare a datelor complexe (de exemplu, dacă primele două coloane dintr-un rând sunt goale, atunci se respinge automat rândul de la procesare)
Pasul 3) Încărcare
Încărcarea datelor în baza de date a depozitului de date țintă este ultimul pas al procesului ETL. Într-un depozit de date tipic, un volum uriaș de date trebuie încărcat într-o perioadă relativ scurtă (nopți). Prin urmare, procesul de încărcare ar trebui optimizat pentru performanță.
În cazul eșecului de încărcare, mecanismele de recuperare ar trebui configurate pentru a reporni din punctul de defecțiune fără pierderea integrității datelor. Administratorii Data Warehouse trebuie să monitorizeze, să reia, să anuleze încărcările în funcție de performanța serverului.
Tipuri de încărcare:
- Încărcare inițială — popularea tuturor tabelelor Data Warehouse
- Încărcare incrementală — aplicarea periodică a modificărilor în curs ca atunci când este necesar.
- Reîmprospătare completă — ștergerea conținutului unuia sau mai multor tabele și reîncărcarea cu date noi.
Verificarea încărcării
- Asigurați-vă că datele câmpului cheie nu lipsesc și nici nu sunt nule.
- Testați vederile de modelare pe baza tabelelor țintă.
- Verificați că valorile combinate și măsurile calculate.
- Verificări de date în tabelul de dimensiuni, precum și în tabelul istoric.
- Verificați rapoartele BI pe tabelul de fapte și dimensiuni încărcate.
Instrumente ETL
Există multe Instrumente ETL sunt disponibile pe piață. Iată câteva dintre cele mai proeminente:
1. MarkLogic:
MarkLogic este o soluție de depozitare a datelor care face integrarea datelor mai ușoară și mai rapidă utilizând o serie de funcții de întreprindere. Poate interoga diferite tipuri de date, cum ar fi documente, relații și metadate.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle este baza de date lider în industrie. Oferă o gamă largă de soluții de depozit de date atât pentru on-premise, cât și în cloud. Ajută la optimizarea experiențelor clienților prin creșterea eficienței operaționale.
https://www.oracle.com/index.html
3. Amazon RoșuShift:
Amazon Redshift este instrumentul Datawarehouse. Este un instrument simplu și rentabil pentru a analiza toate tipurile de date folosind standard SQL și instrumentele BI existente. De asemenea, permite executarea de interogări complexe pe petaocteți de date structurate.
https://aws.amazon.com/redshift/?nc2=h_m1
Iată o listă completă de utile Instrumente pentru depozitul de date.
Cele mai bune practici proces ETL
Următoarele sunt cele mai bune practici pentru etapele procesului ETL:
Nu încercați niciodată să curățați toate datele:
Fiecare organizație ar dori să aibă toate datele curate, dar majoritatea nu sunt gata să plătească pentru a aștepta sau nu sunt gata să aștepte. Pentru a curăța totul ar dura prea mult, așa că este mai bine să nu încercați să curățați toate datele.
Nu curățați niciodată nimic:
Întotdeauna plănuiți să curățați ceva, deoarece cel mai mare motiv pentru a construi Data Warehouse este de a oferi date mai curate și mai fiabile.
Determinați costul curățării datelor:
Înainte de a curăța toate datele murdare, este important să determinați costul de curățare pentru fiecare element de date murdare.
Pentru a accelera procesarea interogărilor, aveți vizualizări și indecși auxiliare:
Pentru a reduce costurile de stocare, stocați datele rezumate pe benzi de disc. De asemenea, este necesar un compromis între volumul de date de stocat și utilizarea detaliată a acestuia. Compensație la nivelul granularității datelor pentru a reduce costurile de stocare.
Rezumat
- ETL înseamnă Extract, Transform and Load.
- ETL oferă o metodă de mutare a datelor din diverse surse într-un depozit de date.
- În prima etapă de extragere, datele sunt extrase din sistemul sursă în zona de pregătire.
- În etapa de transformare, datele extrase din sursă sunt curățate și transformate.
- Încărcarea datelor în depozitul de date țintă este ultimul pas al procesului ETL.