Zum Inhalt springen

Was ist ETL (Extract, Transform, Load)?

  • Daten

Der Extract, Transform, Load Prozess (kurz: ETL) beschreibt die Schritte zwischen dem Sammeln von Daten aus verschiedenen Quellen bis zum dem Punkt, an dem sie schließlich in einer Data Warehouse Lösung gespeichert werden können. Wenn große Datenmengen oder Daten visualisiert werden sollen, kommen die einzelnen Stufen zum Einsatz.

Was ist ETL?

Unternehmen und Organisationen stehen vor der Herausforderungen mit immer größeren Datenmengen umgehen zu müssen. Dabei stammen diese Informationen auch aus vielen, verschiedenen Systemen mit eigenen Datenstrukturen und Logiken. Diese Daten sollen möglichst einheitlich in einem zentralen Data Warehouse abgespeichert werden, um dann für Data Mining oder Data Analytics zur Verfügung zu stehen.

Damit diese Informationen verlässlich und belastbar sind, müssen sie aus den verschiedenen Quellsystemen gezogen, aufbereitet und dann in ein Zielsystem geladen werden. All das passiert in dem ETL Prozess.

Das Bild zeigt den Extract, Load, Transform Prozess von ETL.
Extract, Transform, Load Prozess

Was ist der ETL Prozess?

Um den Extract, Transform, Load Prozess besser verstehen zu können, lohnt es sich die einzelnen Phasen im Detail zu betrachten:

ETL Extract

Das Extrahieren bezeichnet den Prozessschritt, in dem Daten aus verschiedenen Quellen geholt werden, um sie zentral abzulegen. In diesem Schritt werden unter anderem auch Prüfungen zur Datenqualität durchgeführt, damit man einen sauberen Stand im Data Warehouse hat. Diese Prüfungen können beispielsweise die Übereinstimmung des Datentypes oder die Suche nach fehlenden Werten beinhalten. Beispielsweise könnte untersucht werden, ob alle Elemente, die einen Preis darstellen, auch in USD gekennzeichnet sind. Wenn die Daten grobe Qualitätsmängel aufweisen, können sie in dieser Stufe auch zurückgewiesen werden. Wenn keine oder nur wenige Mängel vorhanden sind, werden die Daten an die nächste Stufe übergeben und dort die notwendigen Änderungen vorgenommen.

Der Extract Schritt umfasst das Laden von Informationen aus den unterschiedlichsten Quellen. Dazu gehören unter anderem:

  • SQL und NoSQL Datenbanken
  • CRM oder ERP Systeme
  • Dateien
  • Websites oder API Abfragen

ETL Transform

In dieser Stufe werden alle Daten in eine Struktur transformiert, welche mit dem Datenmodell des Data Warehouses oder der Anwendung übereinstimmt. Wenn es noch Datenqualitätsprobleme geben sollte, werden diese nun bearbeitet. Dazu gehören zum Beispiel das Füllen von fehlenden Werten oder das Korrigieren von Fehlern. Darüber hinaus werden hier auch schon grundlegende Berechnungen vorgenommen mit denen die Daten zusammengefasst oder aufbereitet werden können. Darunter könnte beispielsweise fallen, dass der Umsatz bereits auf Tagesbasis aggregiert wird und nicht jeder Auftrag einzeln abgespeichert wird, wenn dies gefordert ist.

ETL Load

Die Daten, die wir in den vorherigen Schritten aufbereitet haben, können nun in das Data Warehouse oder die Zieldatenbank geladen werden. Falls sich dort schon ältere Informationen derselben Art befinden, müssen diese entsprechend ergänzt oder sogar ausgetauscht werden. Dies passiert häufig anhand einer eindeutigen ID oder indem der Zeitpunkt zu dem die Informationen gespeichert wurden mit eingetragen wird. Dadurch können die Daten verglichen werden und die veralteten Informationen gezielt gelöscht werden.

Einsatzbereiche von ETL-Prozessen

Der ETL Prozess wird vor allem dann genutzt, wenn man Daten innerhalb eines Unternehmens oder einer Organisation zentral in einem Data Warehouse speichern will. Dazu müssen sie aus verschiedensten Datenspeichern gesammelt und zusammengeführt werden. Dabei kommt es nicht selten vor, das die Informationen komplett verschiedene Datenstrukturen aufweisen.

Wenn Informationen in einer Business Intelligence Lösung angezeigt werden sollen, kommt der ETL Prozess zum Einsatz, damit die Daten so abgespeichert sind, dass sie möglichst einfach und ohne Fehler in Diagrammen veranschaulicht werden können.

Die Prozessschritte Extract, Transform und Load können für verschiedenste Anwendungsbereiche genutzt werden. Darunter fallen:

  • Zentrale Speicherung von Informationen in einem Data Warehouse.
  • Datenvisualisierung mithilfe von Business Intelligence
  • Zusammenführung von Daten aus verschiedenen Systemen

ETL Challenges und Lösungen

Die ETL Stufen stellen vor allem eine möglichst große Herausforderung, wenn viele und sehr unterschiedliche Systeme und deren Daten migriert werden sollen. Dann kommt es nicht selten vor, dass die Datenmodelle komplett unterschiedlich sind und viel Arbeit in deren Transformation fließen muss.

Ansonsten ist der Transformationsschritt auch sehr aufwendig, wenn die Datenqualität Mängel aufweist, die erst behoben werden müssen. In manchen Anwendungen lassen sich zum Beispiel fehlende Werte gar nicht verhindern und müssen aber trotzdem entsprechend behandelt werden. Wenn wir Messdaten in einer Produktionsstraße beispielsweise haben, die die Bauteile auf dem Fließband misst, aber zwischen dem 30.05.2021 und dem 01.06.2021 gewartet wurde und somit in diesem Zeitraum keine Daten erhoben wurden. Entsprechend fehlen uns für alle Datensätze in diesem Zeitraum die Messungen der Bauteillänge. Wir könnten nun entweder die Datensätze aus dem Zeitraum nicht beachten oder beispielsweise die fehlenden Felder durch den Durchschnitt der Messwerte aus den Tagen unmittelbar davor und danach ersetzen.

ETL vs. ELT

Der ETL Prozess hat sich bereits über mehrere Jahre und Jahrzehnte etabliert. Jedoch sind die Datenmengen, welche in vielen Anwendungen anfallen, im selben Zeitraum auch sehr stark gestiegen. Deshalb wäre es eine sehr teure Angelegenheit alle entstehenden Daten auch direkt zu strukturieren und in einem Data Warehouse abzuspeichern. Vielmehr werden unstrukturierte Daten in den meisten Fällen erst in einem sogenannten Data Lake abgelegt. Dort liegen die Daten in ihrem Rohformat vor bis sie für eine konkrete Anwendung benötigt werden.

Für diesen Ablauf wurde der ETL Prozess zum sogenannten ELT Prozess abgewandelt. Wie die Anordnung der Buchstaben bereits verrät wird bei der Befüllung eines Data Lakes erst der „Load“ Step vorgenommen. Im Data Lake sind die Daten also noch unstrukturiert, unsortiert und auch nicht korrigiert.

ETL vs. ELT | Source: LinkedIn

Sobald diese Informationen für einen konkreten Use Case benötigt werden und das Zieldatenformat festgelegt wurden, passiert der „Transform“ Prozess in dem die Daten aufbereitet werden. Als Technologie für den Data Lake kann beispielsweise Hadoop genutzt werden.

Das solltest Du mitnehmen

  • ETL enthält wichtige Prozessschritte zur Datensammlung aus verschiedenen Systemen, deren Aufbereitung und Speicherung in ein Zielsystem.
  • In den einzelnen Stufen wird sichergestellt, dass die Informationen dem Datenmodell angeglichen werden und gewisse Qualitätsstandards eingehalten werden.
  • ETL kommt vor allem dann zum Einsatz, wenn Daten in einem Data Warehouse abgespeichert werden sollen oder in BI-Anwendungen zur Anzeige kommen.

Andere Beiträge zum Thema ETL

  • Hier findest Du einen Vergleich von beliebten ETL Tools, die viele der beschriebenen Schritte automatisieren.
  • Ansonsten können auch viele, grundlegende ETL Schritte innerhalb von Python erledigt werden. Einige grundlegende Befehle findest Du in unserem dazugehörigen Abschnitt.
close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Schlagwörter:
Cookie Consent mit Real Cookie Banner