Dezlănțuirea puterii instrumentelor ETL pentru AWS

ETL înseamnă Extract, Transform, and Load. Instrumentele ETL extrag date din diverse surse și le transformă într-un format intermediar potrivit pentru sistemele țintă sau cerințele modelului de date. Și, în cele din urmă, încarcă datele într-o bază de date țintă, într-un depozit de date sau chiar într-un lac de date.

Îmi amintesc vremuri de la 15 la 20 de ani în urmă, când termenul ETL era ceva ce doar câțiva înțelegeau ce este. Când diferitele joburi personalizate în lot au avut apogeul pe hardware-ul local.

Multe proiecte au făcut o formă de ETL. Chiar dacă nu știau, ar trebui să-i numească ETL. În acea perioadă, ori de câte ori explicam orice design care implica procese ETL și le sunam și le descrieam în acest fel, arăta aproape ca o altă tehnologie mondială, ceva foarte rar.

Dar astăzi lucrurile stau altfel. Migrarea către cloud este prioritatea principală. Iar instrumentele ETL sunt piesa strategică a arhitecturii majorității proiectelor.

În cele din urmă, migrarea către cloud înseamnă preluarea datelor din local ca sursă și transformarea lor în baze de date cloud într-o formă cât mai compatibilă cu arhitectura cloud. Exact treaba instrumentului ETL.

Istoria ETL și cum se conectează la prezent

Sursa: aws.amazon.com

Principalele funcții ale ETL au fost întotdeauna aceleași.

Instrumentele ETL extrag date din diverse surse (fie baze de date, fișiere plate, servicii web sau, în ultimul timp, aplicații bazate pe cloud).

De obicei, însemna preluarea fișierelor pe sistemul de fișiere Unix ca intrare și preprocesare, procesare și postprocesare.

Puteți vedea modelul reutilizabil al numelor de foldere, cum ar fi:

  • Intrare
  • Ieșire
  • Eroare
  • Arhiva

Sub acele foldere, a existat și o altă structură de subfolder, bazată în principal pe date.

Acesta a fost doar modul standard de a procesa datele primite și de a le pregăti pentru încărcare într-un fel de bază de date.

Astăzi, nu există sisteme de fișiere Unix (nu în același mod ca înainte) – poate chiar nici fișiere. Acum există API-uri – interfețe de programare a aplicațiilor. Puteți, dar nu trebuie să aveți un fișier ca format de intrare.

Totul poate fi stocat în memoria cache. Mai poate fi un fișier. Oricare ar fi, trebuie să urmeze un format structurat. În cele mai multe cazuri, aceasta înseamnă format JSON sau XML. În unele cazuri, vechiul format bun cu valori separate prin virgulă (CSV) o va face și el.

Voi definiți formatul de intrare. Dacă procesul va implica și crearea istoricului fișierelor de intrare depinde numai de dvs. Nu mai este un pas standard.

Transformare

Instrumentele ETL transformă datele extrase într-un format adecvat pentru analiză. Aceasta include curățarea datelor, validarea datelor, îmbogățirea datelor și agregarea datelor.

Așa cum era obișnuit, datele au trecut printr-o logică personalizată complexă a etapelor procedurale de date Pro-C sau PL/SQL, transformarea datelor și pașii de stocare a schemei țintei datelor. A fost un proces standard la fel de obligatoriu, cum ar fi separarea fișierelor primite în subdosare, în funcție de stadiul în care a fost procesat fișierul.

De ce a fost atât de natural dacă a fost și fundamental greșit în același timp? Prin transformarea directă a datelor primite fără stocare permanentă, pierdeai cel mai mare avantaj al datelor brute – imuabilitatea. Proiectele au aruncat asta fără nicio șansă de reconstrucție.

  8 Cele mai bune platforme de Business Intelligence (BI) și Analytics în 2022

Ei bine, ghici ce. Astăzi, cu cât executați mai puțină transformare a datelor brute, cu atât mai bine. Pentru prima stocare de date în sistem, adică. S-ar putea ca următorul pas să fie o schimbare serioasă a datelor și o transformare a modelului de date, desigur. Dar doriți să fi stocat datele brute într-o structură cât mai neschimbată și atomică posibil. O mare schimbare față de vremurile on-premise, dacă mă întrebați pe mine.

Sarcină

Instrumentele ETL încarcă datele transformate într-o bază de date țintă sau într-un depozit de date. Aceasta include crearea de tabele, definirea relațiilor și încărcarea datelor în câmpurile corespunzătoare.

Pasul de încărcare este probabil singurul care urmează același model pentru vârste. Singura diferență este o bază de date țintă. În timp ce anterior, era Oracle de cele mai multe ori, acum poate fi orice este disponibil în cloud-ul AWS.

ETL în mediul cloud actual

Dacă intenționați să vă aduceți datele din local în cloud (AWS), aveți nevoie de un instrument ETL. Nu merge fără ea, motiv pentru care această parte a arhitecturii cloud a devenit probabil cea mai importantă piesă a puzzle-ului. Dacă acest pas este greșit, va urma orice altceva, împărtășind același miros peste tot.

Și, deși există multe competiții, m-aș concentra acum pe cele trei cu care am cea mai mare experiență personală:

  • Data Migration Service (DMS) – un serviciu nativ de la AWS.
  • Informatica ETL – probabil principalul jucător comercial din lumea ETL, transformându-și cu succes afacerea de la on-premise la cloud.
  • Matillion pentru AWS – un jucător relativ nou în mediile cloud. Nu nativ pentru AWS, ci nativ pentru cloud. Cu nimic asemănător cu istoria comparabilă cu Informatica.

AWS DMS ca ETL

Sursa: aws.amazon.com

AWS Data Migration Services (DMS) este un serviciu complet gestionat care vă permite să migrați date din diferite surse către AWS. Acceptă mai multe scenarii de migrare.

  • Migrari omogene (de exemplu, Oracle la Amazon RDS pentru Oracle).
  • Migrații eterogene (de exemplu, Oracle la Amazon Aurora).

DMS poate migra date din diverse surse, inclusiv baze de date, depozite de date și aplicații SaaS, către diverse ținte, inclusiv Amazon S3, Amazon Redshift și Amazon RDS.

AWS tratează serviciul DMS drept instrumentul suprem pentru a aduce date din orice sursă de baze de date în ținte native din cloud. În timp ce scopul principal al DMS este doar copierea datelor în cloud, face o treabă bună în transformarea datelor pe parcurs.

Puteți defini sarcini DMS în format JSON pentru a automatiza diferite lucrări de transformare pentru dvs. în timp ce copiați datele de la sursă la țintă:

  • Îmbinați mai multe tabele sau coloane sursă într-o singură valoare.
  • Împărțiți valoarea sursă în mai multe câmpuri țintă.
  • Înlocuiți datele sursă cu o altă valoare țintă.
  • Eliminați orice date inutile sau creați date complet noi pe baza contextului de intrare.

Asta înseamnă – da, cu siguranță poți folosi DMS ca instrument ETL pentru proiectul tău. Poate că nu va fi la fel de sofisticat ca celelalte opțiuni de mai jos, dar va face treaba dacă definiți clar obiectivul din față.

Factorul de potrivire

Deși DMS oferă unele capabilități ETL, este vorba în primul rând despre scenarii de migrare a datelor. Există însă câteva scenarii în care ar putea fi mai bine să utilizați DMS în loc de instrumente ETL precum Informatica sau Matillion:

  Ce este inclus într-o verificare a antecedentelor?
  • DMS poate gestiona migrări omogene în care bazele de date sursă și țintă sunt aceleași. Acest lucru poate fi un beneficiu dacă scopul este de a migra date între baze de date de același tip, cum ar fi Oracle la Oracle sau MySQL la MySQL.
  • DMS oferă unele capacități de bază de transformare și personalizare a datelor, dar este posibil să nu fie super matur în acest sens. Acest lucru poate fi în continuare un beneficiu dacă aveți nevoi limitate de transformare a datelor.
  • Calitatea datelor și nevoile de guvernare sunt, în general, destul de limitate cu DMS. Dar acestea sunt domenii care pot fi îmbunătățite în fazele ulterioare ale proiectului cu alte instrumente, mai determinate în acest scop. Este posibil să aveți nevoie ca partea ETL să fie realizată cât mai simplu posibil. Atunci DMS este o alegere perfectă.
  • DMS poate fi o opțiune mai rentabilă pentru organizațiile cu bugete limitate. DMS are un model de prețuri mai simplu decât instrumentele ETL precum Informatica sau Matillion, care poate face mai ușor pentru organizații să prezică și să-și gestioneze costurile.
  • Matillion ETL

    Sursa: matillion.com

    este o soluție nativă în cloud și o puteți folosi pentru a integra date din diverse surse, inclusiv baze de date, aplicații SaaS și sisteme de fișiere. Oferă o interfață vizuală pentru construirea conductelor ETL și acceptă diverse servicii AWS, inclusiv Amazon S3, Amazon Redshift și Amazon RDS.

    Matillion este ușor de utilizat și poate fi o alegere bună pentru organizațiile care nu folosesc instrumentele ETL sau cu nevoi mai puțin complexe de integrare a datelor.

    Pe de altă parte, Matillion este un fel de tabula rasa. Are câteva funcționalități potențiale predefinite, dar trebuie să îl codificați personalizat pentru a-l aduce la viață. Nu vă puteți aștepta ca Matillion să facă treaba pentru dvs. din cutie, chiar dacă capacitatea există prin definiție.

    Matillion s-a descris adesea ca ELT mai degrabă decât un instrument ETL. Asta înseamnă că este mai natural ca Matillion să facă o sarcină înainte de transformare.

    Factorul de potrivire

    Cu alte cuvinte, Matillion este mai eficient în transformarea datelor doar odată ce acestea sunt deja stocate în baza de date decât înainte. Motivul principal pentru aceasta este obligația de scripting personalizat deja menționată. Deoarece toate funcționalitățile speciale trebuie mai întâi codificate, eficacitatea va depinde apoi în mare măsură de eficacitatea codului personalizat.

    Este firesc să ne așteptăm ca acest lucru să fie gestionat mai bine în sistemul de bază de date țintă și să lăsați pe Matillion doar o sarcină simplă de încărcare 1:1 – mult mai puține oportunități de a o distruge cu cod personalizat aici.

    În timp ce Matillion oferă o gamă largă de caracteristici pentru integrarea datelor, este posibil să nu ofere același nivel de calitate a datelor și caracteristici de guvernare ca și alte instrumente ETL.

    Matillion poate crește sau reduce în funcție de nevoile organizației, dar este posibil să nu fie la fel de eficient pentru gestionarea unor volume foarte mari de date. Procesarea paralelă este destul de limitată. În acest sens, Informatica este cu siguranță o alegere mai bună, deoarece este mai avansată și mai bogată în funcții în același timp.

    Cu toate acestea, pentru multe organizații, Matillion pentru AWS poate oferi suficientă scalabilitate și capabilități de procesare paralelă pentru a le satisface nevoile.

    Informatica ETL

    Sursa: informatica.com

      Cum să transferați soldul cardului cadou Amazon într-un alt cont

    Informatica pentru AWS este un instrument ETL bazat pe cloud, conceput pentru a ajuta la integrarea și gestionarea datelor din diverse surse și ținte în AWS. Este un serviciu complet gestionat care oferă o serie de caracteristici și capabilități pentru integrarea datelor, inclusiv profilarea datelor, calitatea datelor și guvernarea datelor.

    Unele dintre principalele caracteristici ale Informatica pentru AWS includ:

  • Informatica este proiectat să crească sau să scadă în funcție de nevoile reale. Poate gestiona volume mari de date și poate fi utilizat pentru a integra date din diverse surse, inclusiv baze de date, depozite de date și aplicații SaaS.
  • Informatica oferă o serie de caracteristici de securitate, inclusiv criptare, controale de acces și piste de audit. Este în conformitate cu diverse standarde industriale, inclusiv HIPAA, PCI DSS și SOC 2.
  • Informatica oferă o interfață vizuală pentru construirea conductelor ETL, ceea ce facilitează crearea și gestionarea fluxurilor de lucru de integrare a datelor pentru utilizatori. De asemenea, oferă o gamă de conectori și șabloane prefabricate care pot fi utilizate pentru a conecta sistemele și pentru a activa procesul de integrare.
  • Informatica se integrează cu diverse servicii AWS, inclusiv Amazon S3, Amazon Redshift și Amazon RDS. Acest lucru facilitează integrarea datelor în diverse servicii AWS.
  • Factorul de potrivire

    În mod clar, Informatica este cel mai bogat instrument ETL de pe listă. Cu toate acestea, poate fi mai costisitor și mai complex de utilizat decât unele dintre celelalte instrumente ETL disponibile în AWS.

    Informatica poate fi costisitoare, mai ales pentru organizatiile mici si mijlocii. Modelul de prețuri se bazează pe utilizare, ceea ce înseamnă că organizațiile ar putea trebui să plătească mai mult pe măsură ce utilizarea lor crește.

    De asemenea, poate fi complex de configurat și configurat, în special pentru cei care nu folosesc instrumentele ETL. Acest lucru poate necesita o investiție semnificativă în timp și resurse.

    Și asta ne conduce la ceva ce putem numi o „curbă complexă de învățare”. Acest lucru poate fi un dezavantaj pentru cei care au nevoie să integreze rapid datele sau au resurse limitate pentru a le dedica instruirii și integrării.

    De asemenea, Informatica poate să nu fie la fel de eficientă pentru integrarea datelor din surse non-AWS. În acest sens, DMS sau Matillion ar putea fi o opțiune mai bună.

    În cele din urmă, Informatica este în mare măsură un sistem închis. Există doar o capacitate limitată de a-l personaliza la nevoile specifice ale proiectului. Trebuie doar să trăiești cu configurația pe care o oferă din cutie. Astfel, asta limitează cumva flexibilitatea soluțiilor.

    Cuvinte finale

    Așa cum se întâmplă în multe alte cazuri, nu există o soluție universală, chiar și instrumentul ETL din AWS.

    Puteți alege cea mai complexă, bogată în funcții și mai scumpă soluție cu Informatica. Dar are sens să faci cel mai mult dacă:

    • Proiectul este destul de mare și sunteți sigur că întreaga soluție viitoare și sursele de date se conectează și la Informatica.
    • Vă puteți permite să aduceți o echipă de dezvoltatori și configuratori calificați Informatica.
    • Puteți aprecia echipa robustă de asistență din spatele dvs. și sunteți bine să plătiți pentru asta.

    Dacă ceva de sus este dezactivat, s-ar putea să îi încerci lui Matillion:

    • Dacă nevoile proiectului nu sunt atât de complexe în general.
    • Dacă trebuie să includeți niște pași foarte personalizați în procesare, flexibilitatea este o cerință cheie.
    • Dacă nu te deranjează să construiești majoritatea funcțiilor de la zero cu echipa.

    Pentru orice și mai puțin complicat, alegerea evidentă este DMS pentru AWS ca serviciu nativ, care probabil vă poate servi bine scopului.

    Apoi, consultați instrumentele de transformare a datelor pentru a vă gestiona mai bine datele.