Proces ETL (Extract, Transform and Load) în Data Warehouse

Cuprins:

Anonim

Ce este ETL?

ETL este un proces care extrage datele din diferite sisteme sursă, apoi transformă datele (cum ar fi aplicarea calculelor, concatenări etc.) și, în cele din urmă, încarcă datele în sistemul Data Warehouse. Forma completă de ETL este Extract, Transform and Load.

Este tentant să ne gândim că crearea unui depozit de date este 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 de la diferiți actori, inclusiv dezvoltatori, analiști, testeri, directori de vârf și este o provocare tehnică.

Pentru a-și menține valoarea ca instrument pentru factorii de decizie, sistemul de depozitare 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 depozitare de date și trebuie să fie agilă, automată și bine documentată.

În acest tutorial ETL, veți învăța-

  • Ce este ETL?
  • De ce ai nevoie de ETL?
  • Proces ETL în depozite de date
  • Pasul 1) Extragerea
  • Pasul 2) Transformare
  • Pasul 3) Încărcare
  • Instrumente ETL
  • Cele mai bune practici Proces ETL

De ce ai nevoie de ETL?

Există multe motive pentru adoptarea ETL în organizație:

  • Ajută companiile să își analizeze datele de afaceri pentru luarea deciziilor de afaceri critice.
  • Bazele de date tranzacționale nu pot răspunde la întrebări de afaceri complexe la care se poate răspunde prin exemplu ETL.
  • Un Data Warehouse oferă un depozit de date comun
  • ETL oferă o metodă de mutare a datelor din diverse surse într-un depozit de date.
  • Pe măsură ce sursele de date se schimbă, Data Warehouse se va actualiza automat.
  • Un sistem ETL bine conceput și documentat este aproape esențial pentru succesul unui proiect Data Warehouse.
  • Permite verificarea regulilor de transformare, agregare și calcule a datelor.
  • Procesul ETL permite compararea eșantionului de date între sursă și sistemul țintă.
  • Procesul ETL poate efectua transformări complexe și necesită o suprafață 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 reutilizează fără a fi nevoie de abilități tehnice.

Proces ETL în depozite de date

ETL este un proces în 3 pași

Proces ETL

Pasul 1) Extragerea

În acest pas al arhitecturii ETL, datele sunt extrase din sistemul sursă în zona de stocare. Transformările, dacă există, se fac în zona de etapă, 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, revenirea va fi o provocare. Zona de stocare oferă posibilitatea de a valida datele extrase înainte de a se muta în depozitul de date.

Depozitul de date trebuie să integreze sisteme care au diferite

SGBD, hardware, sisteme de operare și protocoale de comunicații. Sursele ar putea include aplicații vechi, cum ar fi Mainframes, 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:

  1. Extragere completă
  2. Extragere parțială - fără notificare de actualizare.
  3. Extragere 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 live. Orice încetinire sau blocare ar putea afecta rezultatul final al companiei.

Unele validări se fac în timpul extragerii:

  • Reconciliați înregistrările cu datele sursă
  • Asigurați-vă că nu se încarcă date spam / nedorite
  • Verificarea tipului de date
  • Eliminați toate tipurile de date duplicate / fragmentate
  • Verificați dacă toate tastele sunt în poziție 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, cartografiat ș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 inteligente.

Este unul dintre conceptele importante ETL în care aplicați un set de funcții pe datele extrase. Datele care nu necesită nicio transformare sunt denumite mișcare directă sau trecere prin date .

În etapa de transformare, puteți efectua operațiuni personalizate pe date. De exemplu, dacă utilizatorul dorește venituri totale din vânzări care nu se află în baza de date. Sau dacă prenumele și prenumele dintr-un tabel se află în coloane diferite. Este posibil să le concatenăm înainte de încărcare.

Probleme de integrare a datelor

Următoarele sunt problemele de integritate a datelor:

  1. Ortografie diferită a aceleiași persoane ca Jon, John etc.
  2. Există mai multe moduri de a indica numele companiei, cum ar fi Google, Google Inc.
  3. Utilizarea diferitelor nume, cum ar fi Cleaveland, Cleveland.
  4. Poate exista un caz în care numerele de cont diferite sunt generate de diferite aplicații pentru același client.
  5. În unele date fișierele necesare rămân necompletate
  6. Produsul nevalid colectat la POS ca introducere manuală poate duce la greșeli.

Validările se fac în această etapă

  • Filtrare - Selectați numai anumite coloane de încărcat
  • Utilizarea regulilor și tabelelor de căutare pentru standardizarea datelor
  • Manevrarea conversiei și codificării setului de caractere
  • Conversia unităților de măsură, cum ar fi data, ora, conversia valutară, conversiile numerice etc.
  • Verificarea validării pragului de date. De exemplu, vârsta nu poate fi mai mare de două cifre.
  • Validarea fluxului de date de la zona de etapă 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 feminin la „F” etc.)
  • Împărțiți o coloană în multipli și îmbinați mai multe coloane într-o singură coloană.
  • Transpunând rânduri și coloane,
  • Utilizați căutările pentru a îmbina datele
  • Folosind orice validare complexă de date (de exemplu, dacă primele două coloane dintr-un rând sunt goale, atunci acesta respinge automat rândul de la procesare)

Pasul 3) Încărcare

Încărcarea datelor în baza de date țintă datawarehouse este ultimul pas al procesului ETL. Într-un depozit tipic de date, un volum imens de date trebuie încărcat într-o perioadă relativ scurtă (nopți). Prin urmare, procesul de încărcare ar trebui optimizat pentru performanță.

În caz de eșec al încărcării, mecanismele de recuperare trebuie configurate pentru a reporni din punctul de eșec fără pierderea integrității datelor. Administratorii Data Warehouse trebuie să monitorizeze, să reia, să anuleze încărcările conform performanței serverului predominant.

Tipuri de încărcare:

  • Încărcare inițială - popularea tuturor tabelelor Data Warehouse
  • Sarcină incrementală - aplicarea periodic a modificărilor în curs, 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 din câmpul cheie nu lipsesc și nici nu sunt nule.
  • Testați vizualizările de modelare pe baza tabelelor țintă.
  • Verificați 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 date și dimensiuni încărcat.

Instrumente ETL

Există multe instrumente de stocare a datelor disponibile pe piață. Iată câteva dintre cele mai proeminente:

1. MarkLogic:

MarkLogic este o soluție de stocare a datelor care face integrarea datelor mai ușoară și mai rapidă utilizând o serie de caracteristici ale întreprinderii. 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 alegeri de soluții Data Warehouse atât la nivel local, 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 RedShift:

Amazon Redshift este instrumentul Datawarehouse. Este un instrument simplu și rentabil pentru a analiza toate tipurile de date folosind SQL standard și instrumentele de BI existente. De asemenea, permite rularea unor interogări complexe împotriva petabytes-ului de date structurate.

https://aws.amazon.com/redshift/?nc2=h_m1

Iată o listă completă a instrumentelor utile pentru depozitarea datelor.

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, pur și simplu ar dura prea mult, deci este mai bine să nu încercați să curățați toate datele.

Nu curățați niciodată nimic:

Planificați întotdeauna să curățați ceva, deoarece cel mai mare motiv pentru construirea Data Warehouse este să oferiți date mai curate și mai fiabile.

Determinați costul curățării datelor:

Înainte de a curăța toate datele murdare, este important pentru dvs. să determinați costul de curățare pentru fiecare element de date murdare.

Pentru a accelera procesarea interogărilor, aveți vizualizări și indexuri auxiliare:

Pentru a reduce costurile de stocare, stocați datele rezumate în casetele de disc. De asemenea, este necesar un compromis între volumul de date care trebuie stocate și utilizarea detaliată a acestuia. Compensare la nivel de granularitate a datelor pentru a reduce costurile de stocare.

Rezumat:

  • ETL reprezintă extragere, transformare și încărcare.
  • ETL oferă o metodă de mutare a datelor din diverse surse într-un depozit de date.
  • În extragerea primului pas, datele sunt extrase din sistemul sursă în zona de etapă.
  • În etapa de transformare, datele extrase din sursă sunt curățate și transformate.
  • Încărcarea datelor în datawarehouse țintă este ultimul pas al procesului ETL.