ETL
Extract – Transform – Load
Taková ta zajetá klasická datová integrační metoda ze 70. let 20. století. Hojně se využívá v on-premise světě kde je omezené množství jak paměti tak výkonu pro zpracování.
Syrová (raw) data, ze zdrojových systémů, se extrahují, transformují do cílové podoby ve stage oblasti (např. SQL server) a poté se uloží do cílové destinace (např. OLAP, tabular model či opět SQL server).
Do procesu jsou tedy zapojeny tři entity zdroj -> stage -> cíl.
Praxe
Data z rezervačního systému hotelu, účetního systému a bankovního (extrakty výpisů z hotelových účtů) se přenesou ze zdrojů do relační SQL databáze na samostatném SQL serveru = stage.
Data se očistí, propojí, obohatí a prostě různě transformují a poté se uloží do cílové SQL databáze na cílovém SQL serveru, kde na ně čeká datová analytika.
Hlavní práci odvede stage, destinace už je jen úložiště.
ELT
Extract – load- transform
Novější metoda zpracování dat. V době kdy se do práce s daty zapojuje více obláčků (cloud computing), tak už není úzkým hrdlem paměť a výkon a můžeme si dovolit do dwh uložit rovnou syrová data (pro strýčka Příhodu).
Tady změníme pořadí.
Syrová (raw) data se extrahují ze zdroje a rovnou se uloží do cíle (např. data lake). Transformace pak probíhá až v cíli. Není potřeba stage, která by to “odpracovala”.
Do procesu jsou zapojeny dvě entity zdroj -> cíl.
Příkladem je situace, kdy je rozhodující rychlost uložení dat a ne přístup k jejich transformované podobě. To znamená, všechna data – dobrá i špatná končí v cíli a transformace nastupuje později.
ETL | ELT | |
Extract | Extrakce dat ze zdroje. | Extrakce dat ze zdroje. |
Transform | Transformace ve stage, na jiném zdroji než je cíl. Maká prostředník. | Transformace v cíli. Maká cíl. |
Load | Čistá, transformovaná data jsou uložena do cíle. | Syrová data se ukládají přímo do cíle. |
Rychlost uložení do cíle | Pomalejší. Než se data dostanou do cíle, tak probíhá transformace všech dat. | Rychlejší. Data se rovnou uloží a transformace probíhá až když je potřeba. |
Implementace | Jednodušší. | Větší náročnost na znalosti a optimalizaci. |
Data lake? | Tady ne. | Tady ano. Data se mohou uložit do dwh i v nestrukturované podobě. |
Náklady | Vyšší. Utrácí se i za zpracování dat, která se nemusí použít. | Nižší. Utrácí se jen za to, co je potřeba. |
Dostupná data | Již na začátku se přesně ví jaká data budou ze zdroje stažena a jak budou transformována. Do cíle se dostane omezená množina. | Do cíle se dostanou všechna data a až pak se transformují. Není problém dodatečně doplnit historii k “novým” datům. |
Ne vždy je svět binární. Občas je potřeba mít více možností než jen dvě. Stejně je tomu i u datových zpracování – hybridní zpracování.
Někdy je možné kombinovat ETL i ELT. Pro vysoce standardizované datové požadavky nad menším datovým objemem lze použít ETL a například pro historizaci je zase vhodnější použít ELT.