🎯 Definicja

ETL (Extract, Transform, Load) i ELT (Extract, Load, Transform) to dwa podejścia do przesyłania danych z punktu A do B. Różnica polega na tym, kiedy i gdzie odbywa się transformacja (czyszczenie, łączenie).

🔑 Kluczowe punkty

  • ETL (Tradycyjne): Transformujesz dane na serwerze pośrednim zanim wgrasz je do hurtowni. Oszczędzasz miejsce w hurtowni, ale tracisz surowe dane.
  • ELT (Nowoczesne): Wgrywasz surowe dane do hurtowni (Load), a potem transformujesz je SQL-em (Transform). Wymaga mocnej hurtowni w chmurze (BigQuery, Snowflake).
  • Trend: Świat przechodzi na ELT dzięki taniej chmurze i narzędziom jak dbt.

📚 Szczegółowe wyjaśnienie

CechaETLELT
KolejnośćExtract Transform LoadExtract Load Transform
SilnikZewnętrzny (np. Informatica, SSIS)Wewnętrzny (Snowflake, BigQuery)
Surowe daneCzęsto tracone / niedostępneDostępne w hurtowni (Raw Layer)
ElastycznośćMała (zmiana wymaga przebudowy pipeline)Duża (zmieniasz SQL i przeliczasz)

💡 Przykład zastosowania

Scenariusz ETL: Bank on-premise. Masz mało miejsca na dyskach. Pobierasz logi, filtrujesz tylko błędy, formatujesz daty i wgrywasz gotową tabelę raportową. Resztę logów kasujesz. Scenariusz ELT: Startup e-commerce. Wgrywasz absolutnie wszystko (każde kliknięcie) do Snowflake’a (Extract-Load, np. Fivetranem). Analityk pisze potem model dbt, który wyciąga z tego sprzedaż. Jak za rok zechcesz analizować “porzucone koszyki”, dane już tam są – wystarczy nowy SQL.

📌 Źródła

  • “Fundamentals of Data Engineering” - Joe Reis.
  • dbt blog - “ETL vs ELT”.

👽 Brudnopis

  • ELT jest fundamentem Modern Data Stack.
  • Czasem używa się hybrydy EtLT (Extract, mały tweak, Load, Transform).