Razumevanje ETL procesa i alata
ETL je akronim koji se odnosi na procese Ekstrakcije, Transformacije i Učitavanja podataka. ETL alati imaju ključnu ulogu u modernom upravljanju podacima. Oni preuzimaju podatke iz različitih izvora, oblikuju ih u odgovarajući format i zatim ih smeštaju u ciljne sisteme.
Nekada, pre 15-20 godina, koncept ETL-a bio je poznat samo uskom krugu stručnjaka. Različiti prilagođeni procesi izvršavani su lokalno, na sopstvenim hardverskim resursima.
Mnogi projekti su uključivali neki oblik ETL-a, čak i ako to nije bilo formalno prepoznato. U to vreme, objašnjavanje dizajna koji uključuju ETL procese delovalo je kao predstavljanje napredne tehnologije, retko viđene u praksi.
Danas je situacija potpuno drugačija. Migracija u oblak postala je prioritet, a ETL alati su neizostavan deo arhitekture većine modernih projekata.
Migracija u oblak podrazumeva prenos podataka sa lokalnih sistema u baze podataka u oblaku. Ovi podaci se transformišu tako da budu kompatibilni sa arhitekturom oblaka. Upravo to je osnovni zadatak ETL alata.
Istorijat ETL-a i njegova povezanost sa sadašnjicom
Izvor: aws.amazon.com
Osnovne funkcije ETL-a ostale su iste tokom vremena.
ETL alati izdvajaju podatke iz različitih izvora, kao što su baze podataka, tekstualne datoteke, veb servisi ili aplikacije u oblaku.
Uobičajena praksa nekada je bila korišćenje datoteka u Unix sistemu kao ulaza, sa pre-procesiranjem, obradom i post-procesiranjem.
Mogao se videti obrazac sa standardnim imenima fascikli:
- Ulaz
- Izlaz
- Greška
- Arhiva
Ispod tih fascikli, postojala je dalja struktura podfoldera, često bazirana na datumima.
Ovo je bio standardni pristup za obradu dolaznih podataka i njihovu pripremu za učitavanje u bazu podataka.
Danas Unix datotečni sistemi više nisu dominantni. Umesto datoteka, sve češće se koriste API-ji (interfejsi za programiranje aplikacija). Ulazni format ne mora uvek biti datoteka.
Podaci se mogu čuvati u keš memoriji, ili i dalje u datotekama. Bez obzira na format, on mora biti strukturiran. U većini slučajeva, to je JSON ili XML format. Ponekad se koristi i CSV (Comma Separated Values) format.
Format ulaza se definiše individualno. Da li će se kreirati istorija ulaznih datoteka zavisi od konkretnih zahteva. To više nije obavezan korak.
Transformacija
ETL alati transformišu izvučene podatke u format pogodan za analizu. To podrazumeva čišćenje, validaciju, obogaćivanje i agregaciju podataka.
Podaci su nekada prolazili kroz kompleksnu prilagođenu logiku u vidu Pro-C ili PL/SQL procedura za obradu i transformaciju podataka. To je bio obavezan standardni proces, sličan organizovanju ulaznih datoteka u poddirektorijume.
Zašto je ovaj pristup, iako standardan, bio suštinski pogrešan? Diretnom transformacijom ulaznih podataka bez njihovog trajnog skladištenja gubila se ključna prednost sirovih podataka – njihova nepromenljivost. Projekti su ovo odbacivali bez mogućnosti rekonstrukcije.
Danas, što manje transformacije sirovih podataka izvršite pre skladištenja, to bolje. U početnoj fazi, podaci se čuvaju u nepromenjenom i atomskom obliku. Transformacija modela podataka vrši se naknadno, u zasebnom koraku. Ovo je značajna promena u odnosu na raniju praksu.
Učitavanje
ETL alati učitavaju transformisane podatke u ciljnu bazu podataka ili skladište podataka. Ovo uključuje kreiranje tabela, definisanje odnosa i učitavanje podataka u odgovarajuća polja.
Korak učitavanja je uglavnom zadržao isti obrazac godinama. Jedina razlika je ciljna baza podataka. Dok je ranije to najčešće bio Oracle, sada se koristi bilo koja baza podataka dostupna u okruženju oblaka.
ETL u današnjem okruženju oblaka
Ako planirate da migrirate podatke iz lokalnog sistema u oblak (npr. AWS), neophodan vam je ETL alat. Ovaj deo arhitekture oblaka je postao ključan. Greške u ovom koraku mogu imati negativne posledice na ceo projekat.
Postoji mnogo konkurentnih alata, ali tri su se pokazala najefikasnijim:
- Usluga migracije podataka (DMS) – AWS-ova usluga.
- Informatica ETL – vodeći komercijalni alat u ETL svetu.
- Matillion za AWS – relativno nov igrač na tržištu rešenja u oblaku.
AWS DMS kao ETL
Izvor: aws.amazon.com
AWS Data Migration Service (DMS) je usluga koja omogućava prenos podataka između različitih izvora i ciljeva na AWS-u. Podržava različite scenarije migracije, uključujući:
- Homogene migracije (npr. Oracle na Amazon RDS for Oracle).
- Heterogene migracije (npr. Oracle na Amazon Aurora).
DMS može preneti podatke iz raznih izvora kao što su baze podataka, skladišta podataka i SaaS aplikacije, u ciljeve kao što su Amazon S3, Amazon Redshift i Amazon RDS.
AWS smatra DMS ključnim alatom za prenos podataka iz bilo kog izvora u ciljne sisteme u oblaku. Iako je primarna funkcija DMS-a prenos podataka, on takođe efikasno vrši transformaciju podataka.
DMS zadaci se mogu definisati u JSON formatu kako bi se automatizovale različite transformacije tokom kopiranja podataka:
- Spojite više izvornih tabela ili kolona u jednu vrednost.
- Podelite izvornu vrednost na više ciljnih polja.
- Zamenite izvorne podatke drugom ciljnom vrednošću.
- Uklonite nepotrebne podatke ili kreirajte nove podatke na osnovu ulaznog konteksta.
Dakle, DMS se može koristiti kao ETL alat za vaš projekat, iako nije sofisticiran kao druge opcije.
Faktor prikladnosti
Iako DMS nudi neke ETL mogućnosti, primarno je fokusiran na migraciju podataka. Postoje situacije kada je bolje koristiti DMS umesto drugih ETL alata:
- DMS je efikasan za homogene migracije, gde su izvorni i ciljni sistemi isti. Ovo je korisno kada se podaci premeštaju između baza podataka istog tipa.
- DMS nudi osnovne mogućnosti transformacije i prilagođavanja podataka, iako nije napredan u tom pogledu. Ovo može biti korisno ako su transformacije ograničene.
- DMS ima ograničene mogućnosti za upravljanje kvalitetom podataka. Ovo se može poboljšati u kasnijim fazama projekta pomoću specijalizovanih alata. DMS je dobar izbor ako je ETL deo projekta jednostavan.
- DMS je isplativa opcija za organizacije sa ograničenim budžetom. Ima jednostavniji model određivanja cena u poređenju sa drugim ETL alatima.
Matillion ETL
Izvor: matillion.com
Matillion je rešenje zasnovano na oblaku koje se koristi za integraciju podataka iz raznih izvora. Nudi vizuelni interfejs za kreiranje ETL procesa i podržava različite AWS usluge.
Matillion je jednostavan za korišćenje i može biti dobar izbor za organizacije koje tek počinju sa korišćenjem ETL alata ili imaju manje složene potrebe za integracijom podataka.
S druge strane, Matillion nudi osnovne funkcionalnosti koje treba prilagoditi specifičnim potrebama projekta. Ne može se očekivati da alat samostalno rešava kompleksne zadatke.
Matillion se često opisuje kao ELT, a ne kao ETL alat. To znači da je prirodnije da se učitavanje podataka obavi pre transformacije.
Faktor prikladnosti
Matillion je efikasniji u transformaciji podataka nakon što su oni uskladišteni u bazi podataka. Razlog tome je potreba za prilagođenim skriptovanjem. Efikasnost transformacije zavisi od efikasnosti prilagođenog koda.
Stoga je bolje da se kompleksna transformacija obavi u ciljnom sistemu baze podataka. Matillionu se prepušta jednostavan zadatak 1:1 učitavanja. Na taj način se smanjuje rizik od grešaka u prilagođenom kodu.
Iako Matillion nudi razne funkcije za integraciju podataka, možda ne nudi isti nivo kvaliteta podataka i funkcije upravljanja kao drugi ETL alati.
Matillion se može skalirati prema potrebama organizacije, ali možda nije najefikasniji za obradu velikih količina podataka. Paralelna obrada je ograničena. U tom smislu, Informatica je bolji izbor zbog naprednijih funkcija.
Međutim, za mnoge organizacije, Matillion za AWS može obezbediti dovoljno skalabilnosti i paralelne obrade da zadovolji potrebe projekta.
Informatica ETL
Izvor: informatica.com
Informatica za AWS je ETL alat dizajniran za integraciju i upravljanje podacima u različitim izvorima i ciljevima unutar AWS okruženja. To je potpuno upravljana usluga koja nudi brojne funkcije za integraciju, uključujući profilisanje, kvalitet i upravljanje podacima.
Neke od ključnih karakteristika Informatice za AWS uključuju:
- Informatica je dizajnirana da se skalira prema potrebama. Može da obradi velike količine podataka i integriše podatke iz različitih izvora.
- Informatica nudi razne bezbednosne funkcije, uključujući enkripciju, kontrolu pristupa i tragove revizije. Usklađena je sa različitim industrijskim standardima.
- Informatica ima vizuelni interfejs za kreiranje ETL procesa. Poseduje i unapred izgrađene konektore i šablone za integraciju sistema.
- Informatica se integriše sa različitim AWS uslugama, olakšavajući integraciju podataka.
Faktor prikladnosti
Informatica je najkompletniji ETL alat na listi, ali može biti skuplji i složeniji za korišćenje u odnosu na druge alate.
Informatica može biti skupa, posebno za manje organizacije. Model određivanja cena se zasniva na upotrebi, što znači da troškovi rastu sa povećanjem upotrebe.
Takođe, može biti komplikovana za podešavanje i konfigurisanje, naročito za one koji su novi u ETL alatima. To zahteva značajne investicije vremena i resursa.
Kompleksnost alata zahteva određeno vreme učenja. Ovo može biti nedostatak ako je potrebna brza integracija podataka ili ako su resursi ograničeni.
Informatica možda nije najefikasnija za integraciju podataka iz izvora koji nisu AWS. U tom slučaju, DMS ili Matillion mogu biti bolja opcija.
Informatica je zatvoren sistem, sa ograničenim mogućnostima prilagođavanja. Treba se prilagoditi funkcionalnostima koje se nude.
Završne reči
Ne postoji univerzalno rešenje za sve. Ne postoji jedan idealan ETL alat za AWS.
Možete odabrati najkompleksnije i najskuplje rešenje, kao što je Informatica, ako:
- Je projekat veliki, i ako je buduće rešenje kompatibilno sa Informatica.
- Možete da priuštite tim stručnjaka za Informatica.
- Cenite jaku podršku i spremni ste to da platite.
Ako neki od ovih uslova nisu ispunjeni, možete razmotriti Matillion:
- Ako projekat nije složen.
- Ako je potrebna velika fleksibilnost i prilagođavanje.
- Ako imate tim koji može samostalno da razvija funkcionalnosti.
Za manje složene projekte, DMS za AWS je prirodan izbor, kao izvorna usluga koja može dobro da posluži.
Nakon toga, razmislite o dodatnim alatima za transformaciju podataka.