Zkratka proExtract, Transform, LoadTakéExtract Transform Load, Extract, Transform, LoadPokročilý

Definice

ETL je proces, při kterém se data získají ze zdrojových systémů, upraví do požadované podoby a uloží do cílového úložiště, typicky datového skladu. Používá se pro reporting, analytiku a integraci aplikací, protože odděluje sběr dat, jejich čištění a kontrolované načtení do jednotného modelu.

Kategorie: Datová analytikaAktualizováno

Proč ETL vzniklo v datových skladech

ETL řeší situaci, kdy firma potřebuje spojit data z mnoha provozních systémů a používat je pro analýzu bez toho, aby zatěžovala samotné aplikace. Objednávky mohou ležet v relační databázi, události v logovacím systému, kampaně v reklamní platformě a zákaznická data v CRM. Datový sklad potřebuje z těchto zdrojů vytvořit jednotný, historicky dohledatelný pohled.

Provozní systémy bývají navržené pro rychlý zápis a obsluhu uživatelů. Analytické dotazy naopak často čtou velké objemy dat a agregují je podle času, produktu nebo segmentu. ETL proto data přesune mimo produkční aplikace, sjednotí formát a uloží výsledek do struktury vhodné pro reporting, dashboardy nebo trénování modelů.

Tři kroky v ETL pipeline

Extract znamená získání dat ze zdrojů. Zdroj může být databázová tabulka, CSV export, API, message broker nebo soubor v objektovém úložišti. Důležitá je evidence, odkud data přišla, kdy byla načtena a zda jde o celý export nebo jen změny od posledního běhu.

Transform převádí syrová data do podoby, kterou cílový systém umí bezpečně používat. Transformace může čistit neplatné hodnoty, převádět časová pásma, sjednocovat měny, dopočítávat metriky, odstraňovat duplicity nebo spojovat záznamy přes klíče. V této fázi se často rozhoduje o kvalitě výsledné analytiky.

Load ukládá připravená data do cíle. Cílem může být datový sklad, datamart, analytická databáze nebo index pro vyhledávání. Načítání musí řešit opakované spuštění, částečné chyby a to, zda se záznamy vkládají, přepisují nebo slučují s existující historií.

Cena transformace před načtením

ETL transformuje data dříve, než se dostanou do cílového úložiště. Výhodou je čistý a kontrolovaný datový model: reporty pracují s připravenými tabulkami a uživatelé nemusí při každém dotazu znovu opravovat stejný nepořádek. Nevýhodou je menší pružnost, protože změna analytické logiky může vyžadovat úpravu pipeline a opětovné přepočítání historických dat.

Pipeline musí počítat s chybami stejně jako běžná aplikace. Špatně navržené ETL může potichu ztratit řádky, vytvořit duplicitní tržby nebo zamíchat data z různých časových období. Proto se používají validační kontroly, staging tabulky, auditní sloupce a idempotentní zápisy, které dávají stejný výsledek i po opakovaném spuštění.

ETL v moderním datovém stacku

Moderní týmy často kombinují ETL s přístupem ELT, kde se data nejprve nahrají do výkonného skladu a transformují až uvnitř něj. Rozdíl není náboženský, ale praktický: ETL se hodí tam, kde je potřeba silná kontrola před uložením, ochrana citlivých polí nebo drahé cílové úložiště. ELT bývá výhodné, když cílová platforma levně škáluje výpočty a tým chce uchovat více surových dat pro pozdější použití.

Příklady z praxe

  1. Noční načtení objednávek do skladu

    E-shop každou noc exportuje objednávky z provozní databáze do staging tabulky. ETL pipeline opraví formát měn, odstraní duplicitní řádky a pomocí slučovacího zápisu aktualizuje datový sklad. Ranní dashboard pak ukazuje tržby bez zatížení produkční databáze.

    MERGE INTO warehouse.orders AS target
    USING staging.orders_daily AS source
    ON target.order_id = source.order_id
    WHEN MATCHED THEN
      UPDATE SET status = source.status, total = source.total
    WHEN NOT MATCHED THEN
      INSERT (order_id, customer_id, status, total)
      VALUES (source.order_id, source.customer_id, source.status, source.total);
  2. Sjednocení zákaznických dat pro reporting

    SaaS firma stahuje události z aplikace, fakturačního systému a CRM. ETL pipeline sjednotí identifikátory zákazníků, vyřadí testovací účty a vytvoří tabulku pro výpočet měsíčního opakovaného výnosu. Finanční tým díky tomu nepočítá stejnou metriku ručně v několika tabulkách.

Časté omyly

MýtusETL je jen kopírování dat z jedné databáze do druhé.
Ve skutečnostiETL zahrnuje i čištění, validaci, spojování, odvozování metrik a kontrolované načtení. Prosté kopírování bez transformací je jen část možného datového toku.
MýtusKdyž máme cloudový datový sklad, ETL už nepotřebujeme.
Ve skutečnostiCloudový sklad může přesunout část práce do ELT, ale potřeba datové integrace nezmizí. Data stále musí mít definovaný původ, kvalitu, pravidla aktualizace a odpovědnost za chyby.

Časté dotazy

Kdy zvolit ETL místo ELT?
ETL dává smysl místo ELT tam, kde musí být data před uložením výrazně očištěná, anonymizovaná nebo převedená do pevného modelu. Typickým důvodem je compliance, omezený výkon cílového skladu nebo potřeba zabránit šíření nekvalitních dat. ELT je praktičtější, když cílová analytická platforma zvládá velké transformace levně a tým chce uchovat syrovější vrstvu pro budoucí dotazy.
Má ETL běžet v dávkách, nebo průběžně?
ETL může běžet dávkově i téměř průběžně. Dávkové zpracování se hodí pro denní finanční reporty, účetní uzávěrky nebo metriky, kde několik hodin zpoždění nevadí. Průběžné nebo mikro-dávkové ETL se používá tam, kde analytika potřebuje čerstvější data, například u monitoringu provozu, detekce podvodů nebo aktuálních skladových zásob.
Jak ETL souvisí s datovou kvalitou?
ETL výrazně ovlivňuje datovou kvalitu, protože právě transformace často rozhoduje o tom, které hodnoty jsou platné, jak se řeší duplicity a jak se sjednocují významy polí mezi systémy. Dobrá pipeline obsahuje kontroly počtu řádků, schématu, rozsahů hodnot a referenční integrity. Bez těchto kontrol může i technicky úspěšný běh vytvořit zavádějící report.
Kdo má být odpovědný za ETL pipeline?
ETL pipeline obvykle vlastní datový tým, data engineering tým nebo tým odpovědný za konkrétní doménu dat. V menších firmách může stejnou práci dělat backend vývojář nebo analytik. Důležité je jasné vlastnictví: někdo musí hlídat změny zdrojových schémat, selhání běhů, opravy historických dat a dokumentaci významu výsledných tabulek.

Zdroje

  1. What is ETL?(otevře se v novém okně)Amazon Web Services
  2. What is ETL?(otevře se v novém okně)Google Cloud
  3. What is ETL?(otevře se v novém okně)Oracle
  4. Extract, transform, and load (ETL)(otevře se v novém okně)Microsoft Learn

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.