Thursday, January 18, 2024

(Model de arhitectură ETL)
În informatică, Extragere, Transformare, Încărcare (Extract, Transform, Load - ETL) se referă la un proces în utilizarea bazelor de date și în special în depozitarea datelor. Extragerea datelor este locul în care datele sunt extrase din surse de date omogene sau eterogene; transformarea datelor în cazul în care datele sunt transformate pentru stocare în formatul sau structura adecvată în scopul interogării și analizei; încărcarea datelor în cazul în care datele sunt încărcate în baza de date țintă finală, mai precis, un depozit de date operaționale, un magazin de date sau un depozit de date.

Deoarece extragerea datelor necesită timp, este obișnuit să se execute cele trei faze în paralel. În timp ce datele sunt extrase, se execută un alt proces de transformare. Se procesează datele deja primite și se pregătesc pentru încărcare. De îndată ce unele date sunt gata pentru a fi încărcate în țintă, încărcarea datelor începe fără a aștepta finalizarea fazelor anterioare.

Sistemele ETL integrează în mod obișnuit date de la mai multe aplicații (sisteme), de obicei dezvoltate și susținute de diferiți furnizori sau găzduite pe hardware de computer separat. Sistemele disparate care conțin datele originale sunt adesea gestionate și operate de diferiți angajați. De exemplu, un sistem de contabilitate a costurilor poate combina date de la salarizare, vânzări și achiziții.
Extragerea
Prima parte a unui proces ETL implică extragerea datelor din sistemul (sistemele) sursă. În multe cazuri, acesta reprezintă cel mai important aspect al ETL, deoarece extragerea datelor stabilește în mod corect stadiul pentru succesul proceselor ulterioare. Majoritatea proiectelor de depozitare de date combină date din sisteme surse diferite. Fiecare sistem separat poate folosi, de asemenea, o organizare și/sau format diferit de date. Formatele obișnuite de sursă de date includ baze de date relaționale, XML și fișiere plate, dar pot include și structuri de baze de date non-relaționale, cum ar fi Sistemul de management al informațiilor (IMS) sau alte structuri de date, cum ar fi Metoda de acces la stocarea virtuală (VSAM) sau Metoda de acces secvenţial indexat ( ISAM), sau chiar formate preluate din surse externe prin mijloace precum web spidering sau screen-scraping. Transmiterea în flux a sursei de date extrase și încărcarea din mers în baza de date de destinație este o altă modalitate de a efectua ETL atunci când nu este necesară stocarea intermediară a datelor. În general, faza de extracție are ca scop convertirea datelor într-un singur format adecvat pentru procesarea transformării.

O parte intrinsecă a extragerii implică validarea datelor pentru a confirma dacă datele extrase din surse au valorile corecte/așteptate într-un anumit domeniu (cum ar fi un model/implicit sau o listă de valori). Dacă datele nu respectă regulile de validare, acestea sunt respinse în întregime sau parțial. În mod ideal, datele respinse sunt raportate la sistemul sursă pentru analize ulterioare pentru a identifica și a rectifica înregistrările incorecte. În unele cazuri, procesul de extracție în sine poate fi nevoit să facă o regulă de validare a datelor pentru a accepta datele și a trece la următoarea fază.
Transformarea
În etapa de transformare a datelor, o serie de reguli sau funcții sunt aplicate datelor extrase pentru a le pregăti pentru încărcare în ținta finală. Unele date nu necesită deloc nicio transformare; astfel de date sunt cunoscute sub denumirea de date „de mutare directă” sau „de trecere”.

O funcție importantă a transformării este curățarea datelor, care urmărește să transmită țintei doar date „corespunzătoare”. Provocarea atunci când diferite sisteme interacționează este în interfațarea și comunicarea sistemelor relevante. Seturile de caractere care pot fi disponibile într-un sistem pot să nu fie așa în altele.

În alte cazuri, unul sau mai multe dintre următoarele tipuri de transformare pot fi necesare pentru a satisface nevoile comerciale și tehnice ale serverului sau depozitului de date:

- Selectarea numai a anumitor coloane de încărcat: (sau selectarea coloanelor nule pentru a nu se încărca). De exemplu, dacă datele sursă au trei coloane (numite „atribute”), rol_nr, vârstă și salariu, atunci selectarea poate lua numai rol_no și salariu. Sau, mecanismul de selecție poate ignora toate acele înregistrări în care salariul nu este prezent (salariu = nul).
- Translatarea valorilor codificate: (de exemplu, dacă sistemul sursă codifică masculin ca „1” și feminin ca „2”, dar depozitul codifică masculin ca „M” și feminin ca „F”).
- Codificarea valorilor în formă liberă: (de exemplu, maparea „Bărbat” cu „M”)
- Deducerea unei noi valori calculate: (de exemplu, sale_amount = qty * unit_price)
- Sortarea sau ordonarea datelor pe baza unei liste de coloane pentru a îmbunătăți performanța căutării
- Conectarea datelor din mai multe surse (de exemplu, căutarea, îmbinare) și deduplicarea datelor
- Agregarea (de exemplu, acumulare — rezumarea mai multor rânduri de date — vânzări totale pentru fiecare magazin și pentru fiecare regiune etc.)
- Generarea valorilor cheii surogat
- Transpunerea sau pivotarea (transformarea mai multor coloane în mai multe rânduri sau invers)
- Divizarea unei coloane în mai multe coloane (de exemplu, conversia unei liste separate prin virgulă, specificată ca șir într-o coloană, în valori individuale în coloane diferite)
- Dezagregarea coloanelor care se repetă
- Căutarea și validarea datelor relevante din tabele sau fișiere de referință
- Aplicarea oricărei forme de validare a datelor; validarea eșuată poate duce la o respingere completă a datelor, o respingere parțială sau nicio respingere și, prin urmare, niciuna, unele sau toate datele nu sunt transmise pasului următor, în funcție de proiectarea regulii și de gestionarea excepțiilor; multe dintre transformările de mai sus pot duce la excepții, de exemplu, atunci când o translatare de cod analizează un cod necunoscut din datele extrase

Încărcarea
În faza de încărcare se încarcă datele în ținta finală, care poate fi un simplu fișier plat delimitat sau un depozit de date. În funcție de cerințele organizației, acest proces variază foarte mult. Unele depozite de date pot suprascrie informațiile existente cu informații cumulate; actualizarea datelor extrase se face frecvent zilnic, săptămânal sau lunar. Alte depozite de date (sau chiar și alte părți ale aceluiași depozit de date) pot adăuga date noi într-o formă istorică la intervale regulate, de exemplu, din oră în oră. Pentru a înțelege acest lucru, luați în considerare un depozit de date care este necesar pentru a menține evidența vânzărilor din ultimul an. Acest depozit de date suprascrie orice date mai vechi de un an cu date mai noi. Cu toate acestea, introducerea datelor pentru orice fereastră de un an se face într-o manieră istorică. Momentul și domeniul de aplicare pentru înlocuire sau adăugare sunt alegeri strategice de proiectare care depind de timpul disponibil și de nevoile companiei. Sistemele mai complexe pot menține un istoric și o urmărire de audit a tuturor modificărilor aduse datelor încărcate în depozitul de date.

Pe măsură ce faza de încărcare interacționează cu o bază de date, se aplică constrângerile definite în schema bazei de date — precum și în declanșatoarele activate la încărcarea datelor — (de exemplu, unicitatea, integritatea referențială, câmpurile obligatorii), care contribuie, de asemenea, la performanța generală a calității datelor ăn procesul ETL.

- De exemplu, o instituție financiară poate avea informații despre un client în mai multe departamente și fiecare departament poate avea informațiile despre clientul respectiv listate într-un mod diferit. Departamentul de membri ar putea enumera clientul după nume, în timp ce departamentul de contabilitate ar putea lista clientul după număr. ETL poate grupa toate aceste elemente de date și le poate consolida într-o prezentare uniformă, cum ar fi pentru stocarea într-o bază de date sau într-un depozit de date.
- O altă modalitate prin care companiile folosesc ETL este mutarea permanentă a informațiilor într-o altă aplicație. De exemplu, noua aplicație poate folosi un alt furnizor de baze de date și, cel mai probabil, o schemă de bază de date foarte diferită. ETL poate fi folosit pentru a transforma datele într-un format potrivit pentru noua aplicație de utilizat.
- Un exemplu ar fi un sistem de recuperare a cheltuielilor și costurilor (ECRS), cum ar fi cel utilizat de contabilitate, consultanță și firme juridice. De obicei, datele ajung în sistemul de timp și de facturare, deși unele companii pot utiliza și datele brute pentru rapoartele de productivitate ale angajaților către Resurse umane (departamentul de personal) sau rapoartele de utilizare a echipamentelor către Managementul facilităților.

Sursa: Drew Bentley, Business Intelligence and Analytics. © 2017 Library Press, Licență CC BY-SA 4.0. Traducere și adaptare: Nicolae Sfetcu
https://www.telework.ro/ro/etl-extract-transform-load-extragere-transformare-incarcare/

No comments:

Post a Comment