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.

Wie findet man das richtige ETL-Tool?

Im Internet finden sich heute viele kostenlose und kostenpflichtige Tools mit denen sich die Datenintegration im Unternehmen organisieren lässt. Bei dieser schieren Masse an Optionen benötigt man verschiedene Kriterien, an denen sich die Werkzeuge neutral vergleichen und bewerten lassen. Die folgenden Punkte können in vielen Fällen weiterhelfen das passende Tool für den Anwendungsfall zu finden:

  • Budget: Die Kosten für ETL-Tools können von wenigen Euros bis zu einem halben Vermögen reichen. Es muss festgelegt werden, wie viel Geld man bereit ist für die Lösung aufzuwenden. Dabei muss man auch bedenken, dass manche eine Einmalzahlung fordern und andere Lösungen monatlich bezahlt werden.
  • Ausgangssituation: Die konkreten Aufgaben und anfallenden Datenmengen müssen neutral betrachtet werden, um festzustellen, wie leistungsstark die Lösung sein muss und welche Speichermengen benötigt werden. Dabei sollte auch in Betracht gezogen werden, wie sich die Situation mittelfristig entwickeln wird.
  • Personelle Ressourcen: Bei der Auswahl eines geeigneten ETL-Tools sollte auch festgestellt werden, welche Personen das Programm in welchem Umfang nutzen werden. Wenn man ausgebildetes Personal hat, das in der Lage ist das Programm an die individuellen Bedürfnisse anzupassen, kann ein anderes Tool gewählt werden. Ansonsten sollte es eher eine leicht zu bedienende Lösung sein, die am Besten direkt nutzbar ist. Genauso stellt sich die Frage, ob das vorhandene Personal bereits mit der Programmiersprache arbeiten kann, die das ETL-Tool nutzt. Wenn nicht, müssen teure, externe Berater genutzt werden, welche wiederum einen Einfluss auf das Budget haben.
  • Kompatibilitäten: Ein weiterer wichtiger Punkt ist die Frage, welche Datenquellen an das System angeschlossen werden sollen. Nicht alle Lösungen bieten passende Konnektoren für alle Datenbanklösungen an. Somit ist dies auch ein wichtiges Auswahlkriterium.

Welche Programme für ETL gibt es?

Im Folgenden präsentieren wir eine kleine Auswahl an ETL-Tools, die sich bereits etabliert haben und in vielen ähnlichen Artikeln positiv hervorgehoben werden. Alle vorgestellten Programme sind darüber hinaus entweder komplett kostenlos oder bieten die Möglichkeit eine kostenlose Probezeit zu machen.

IBM DataStage

Hierbei handelt es sich um ein Data Integration Tool, das speziell für Unternehmen konzipiert wurde. Es biete sowohl die Möglichkeit den klassischen ETL Prozess zu durchlaufen, als auch ELT Pipelines zu bauen. Die Ausführung der Pipelines wird dabei parallelisiert und bietet automatisches Load Balancing, um die Performance weiter zu verbessern.

Wie die meisten Tools, gibt es bestehende Konnektoren für viele Datenbanken und Programme, die nicht unbedingt von IBM direkt sein müssen. Das Tool bietet sich vor allem auch dann an, wenn die Daten für nachgeschaltete AI Services genutzt werden sollen.

Apache Hadoop

Diese open-source Lösung ist der Quasi-Standard für viele Big Data Anwendungen und kann auch für Extract-Transform-Load Pipelines eingesetzt werden. Es bietet vor allem dann Vorteile, wenn große Mengen unstrukturierte Daten aufbereitet und transportiert werden sollen. Durch das verteilte Rechencluster kann die Performance gesteigert werden.

Darüber hinaus bietet es viele Integration von verschiedensten Plattformen und starke eingebaute Features, wie beispiels das Hadoop Distributed File System oder den MapReduce Algorithmus.

Hevo Pipeline

Hevo bietet ein leistungsfähiges Framework bei der Arbeit mit ETL und ELT Pipelines. Im Vergleich zu den bisherigen Programmen sticht es auch durch das einfache Frontend hervor, das es vielen Anwendern ermöglicht innerhalb von Minuten Datenpipelines aufzusetzen. Das ist besonders im Vergleich zu Hadoop ein Vorteil, da auch nicht geschultes Personal das Programm bedienen kann.

Zusätzlich können bereits mehr als 150 verschiedene Datenquellen angebunden werden, darunter auch SaaS Programme oder Datenbanken mit Change Data Capturing. Diese Basis wird ständig erweitert, um ein reibungsloses Plug-and-Play mit vielen Datenbanken herstellen zu können. Darüber hinaus loben Nutzer auch den Kundenservice, der bei möglichen Problemen schnell und kompetent helfen kann.

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