ETL und ELT sind zwei grundlegende Ansaetze fuer den Transport und die Transformation von Daten. Waehrend traditionelles ETL Daten vor dem Laden transformiert, nutzt modernes ELT die Rechenleistung von Cloud-Warehouses.
Was sind ETL und ELT¶
ETL (Extract, Transform, Load) extrahiert Daten aus Quellen, transformiert sie in einer dedizierten Umgebung und laedt sie in das Ziel. ELT kehrt die Reihenfolge um – Daten werden roh geladen und im Zielsystem transformiert.
Wann ETL waehlen¶
- DSGVO und Compliance – Datenmaskierung vor der Speicherung
- Begrenzte Zielleistung – On-Premise-DB ohne elastisches Compute
- Komplexe Geschaeftslogik – spezialisierte Transformationstools
Wann ELT waehlen¶
- Cloud-Warehouses – Snowflake, BigQuery, Redshift
- Flexibilitaet – Rohdaten fuer verschiedene Transformationen
- Iterative Entwicklung – Transformationen aendern sich ohne Re-Extraktion
# ETL-Pipeline in Python
import pandas as pd
from sqlalchemy import create_engine
# EXTRACT
raw = pd.read_sql('SELECT * FROM orders', source_engine)
# TRANSFORM
df = raw.copy()
df['total_czk'] = df['total_eur'] * 25.2
df = df[df['status'] != 'cancelled']
# LOAD
df.to_sql('dim_orders', target_engine, if_exists='append')
Moderner hybrider Ansatz¶
In der Praxis werden beide Ansaetze kombiniert. Sensible Daten durchlaufen ETL, der Rest ELT. dbt uebernimmt die Transformationen im Ziel-Warehouse.
Zusammenfassung¶
ETL fuer regulierte Umgebungen, ELT fuer die moderne Cloud. Die meisten Organisationen kombinieren beide Ansaetze je nach Art der Daten.