Kdy se data transformují: před uložením, nebo až uvnitř skladu
Rozdíl mezi ETL a ELT není v tom, jestli se data transformují, transformují se v obou případech. Rozdíl je v tom, kdy se to stane a kde k tomu dojde.
ETL (Extract, Transform, Load): transformace před uložením
Objednávky z e-shopu a faktury z účetnictví se nejdřív vyčistí, sjednotí a spojí v samostatné transformační vrstvě, mimo datový sklad. Do skladu pak putuje až hotový, upravený výsledek. Syrová podoba dat, tak jak přišla ze zdroje, se v tomto kroku typicky nikam neukládá.
ELT (Extract, Load, Transform): transformace uvnitř skladu
Stejné objednávky a faktury se nejdřív uloží do BigQuery beze změny, přesně tak, jak přišly ze zdroje. Teprve tam, uvnitř skladu, se spojí a přepočítají pomocí SQL transformací (typicky ve verzované podobě přes Dataform), které běží na výpočetním výkonu samotného BigQuery.
Proč se dnes častěji volí ELT
Dokud byl výpočet pro transformace drahý a omezený, dávalo smysl transformovat data předem, na samostatném serveru, a do skladu poslat jen výsledek. Cloudové sklady jako BigQuery mají výpočet lacinější a pružnější, takže se transformace vyplatí dělat rovnou v nich, a navíc zůstávají po ruce syrová data pro pozdější přepočet.
Kde firmy pálí peníze
Obě architektury mají svoje typické chyby, ne vždy je ELT automaticky lepší volba.
Samostatná transformační vrstva navíc k samotnému skladu
U ETL přístupu firma platí za oddělený transformační server nebo službu navíc k datovému skladu, a je to další součást architektury, která se může rozbít, nezávisle na tom, jestli sklad samotný funguje v pořádku.
Chybná transformace bez možnosti přepočtu
Pokud se u ETL ukáže, že transformační logika byla nastavená špatně, syrová vstupní data často už nejsou k dispozici na nový přepočet, protože se do skladu uložil jen hotový výsledek, ne to, z čeho vznikl.
ELT bez pořádku skončí jako datové jezero
Uložit data syrová sama o sobě nic nevyřeší. Bez verzovaných a testovaných transformací (viz pojem Dataform) se sklad naplní syrovými daty, kterým čím dál míň lidí rozumí, a nikdo z nich nic nepostaví, tomu se říká datové jezero, sklad plný dat bez použitelné struktury nad nimi.
Proč Datimo staví na ELT
U nových datových skladů Datimo staví na ELT: data z e-shopu, účetnictví i reklamních účtů se nejdřív uloží syrová přímo do BigQuery, a teprve tam se transformují pomocí verzovaných SQL transformací (viz pojem Dataform). Souvisí to se stejným důvodem, proč je BigQuery výchozí volba skladu, viz pojem BigQuery.
Sklad i výpočet na jednom místě
Pokud transformace běží přímo v BigQuery, e-shop nepotřebuje samostatný transformační server navíc ke skladu. To je stejný princip, který u pojmu BigQuery popisujeme jako důvod, proč sklad a výpočet zůstávají v jednom cloudu.
Syrová data zůstávají po ruce
Protože se nejdřív ukládá syrová podoba dat, jde se k ní kdykoli vrátit a přepočítat ji jinak, i kdyby se později ukázalo, že některá transformace byla nastavená chybně.
Jiný přístup než managed platformy typu Keboola
Platformy jako Keboola typicky kombinují sběr, transformaci i přesun dat v rámci jedné spravované platformy, viz pojem Keboola, což je pro rychlý start legitimní volba. Datimo místo toho staví na modelu, kde syrová data přistanou přímo v BigQuery a verzované transformace běží tam, ne v samostatné platformě mimo sklad.
