ETL steht für Extract, Transform, Load (extrahieren, transformieren, laden) und beschreibt den klassischen Prozess der Datenintegration. ETL-Prozesse holen Daten aus Quellsystemen, bereiten sie auf und laden sie in ein Zielsystem wie ein Data Warehouse, einen Data Lake oder ein Lakehouse.
Die drei Phasen
- Extract: Daten aus Quellen lesen — Datenbanken, CSV-Dateien, APIs, Logs oder SaaS-Systeme.
- Transform: Daten bereinigen, umformen und anreichern: Duplikate entfernen, Datentypen korrigieren, Felder umbenennen, Werte zusammenführen. Häufig geschieht das in einem Staging-Bereich, einer Zwischenablage im Zielsystem.
- Load: Die aufbereiteten Daten in das Zielsystem schreiben, entweder als Voll- oder als inkrementeller Ladevorgang.
ETL vs. ELT
Beim moderneren ELT (Extract, Load, Transform) werden die Rohdaten zuerst in das Zielsystem geladen und erst dort transformiert. Das nutzt die Rechenleistung leistungsfähiger Cloud-Data-Warehouses und eignet sich für sehr große Datenmengen. ETL bleibt dagegen beliebt, wenn Transformationen zentral und kontrolliert stattfinden sollen oder das Zielsystem keine schweren Transformations-Lasten tragen kann.
Werkzeuge
Bekannte ETL- beziehungsweise Datenintegrations-Werkzeuge sind Talend, Informatica, Apache NiFi und dbt; zur Orchestrierung von Pipelines dient häufig Apache Airflow. Datenqualitäts- und Überwachungsschritte sind fester Bestandteil professioneller ETL-Pipelines.
Verwandte Grundlagen: Datenbank-Normalisierung, Datenbank-Migration, Python-Befehle, SQL-Befehle, Big Data.