Der Begriff ETL steht für einen wichtigen Teilbereich in der Datentransformation. Die Kernaufgabe eines ETL-Prozess besteht in der Erhebung von zumeist großen Datenbeständen aus einem Datenbank- oder Speichersystem, deren Informationen validiert und angepasst werden, um anschließend in eine neue Datenbank überführt zu werden. Die Daten können dabei auch auf verschiedenen Unternehmens-Softwaresystemen verteilt verfügbar sein. Das Endergebnis eines ETL-Prozesses ist ein gefilterter, harmonisierter und zentraler Datenbestand. Dieser kann nun zentral gespeichert oder für eine temporäre Auswertung visuell dargestellt werden.
Die Datentransformation – Schritt für Schritt
Der Prozess einer Datentransformation ist in verschiedene logische Schritte aufgeteilt, um die einzelnen Prozesse strikt voneinander zu trennen. Dies dient in erster Linie der Datensicherheit, zum anderen können in jedem einzelnen Schritt weitere Funktionen etabliert werden. Die folgenden Schritte stellen vereinfacht dargestellt eine Datentransformation dar:
1. Extraktion bzw. Erhebung der Daten
In diesem ersten Schritt werden die bestehenden Daten aus Datenbanken oder anderen Datenquellen erhoben. Bereits in diesem ersten Schritt können die vorhandenen Informationen gefiltert und angepasst werden. Dies wird beispielsweise bei Problemen mit Datums-, Zahlen- oder Währungsformaten der Fall sein. Zudem besteht hier auch die Möglichkeit, die vorhandenen Daten nur teilweise zu verwenden und dahingehend einzugrenzen. Ein weiterer wichtiger Aspekt bei der Extraktion ist die exakte Erkennung und Eleminierung von Dubletten.
2. Transformation
In einem weiteren Schritt werden die bereitgestellten und idealerweise vollständig bereinigten Daten in das Zielformat überführt. Hierbei kommen unter Umständen dann auch mehrere Prozesse zum Tragen. Über fachlich definierte API-Schnittstellen, Datenschemas, wohlgeformte Business-Types als Geschäftsobjekte, einer inhaltlichen Prüfung und wenn erforderlich auch einem Mapping werden die Daten dann entsprechend für das gewünschte Zielformat aufbereitet. In diesem zweiten Prozessschritt spielen dann auch Themen wie Data-Enrichment unter Umständen eine große Rolle, um die Legacy-Datenbestände entsprechend aufzuwerten.
3. Laden
Unter dem Begriff Laden versteht man das abschließende Speichern der transformierten Daten in einer neuen Datenquelle, eine SQL-Datenbank oder gar einem Data-Warehouse. Entsprechend der Transformationsregeln bzw. Datenschemata können die Informationen normalisiert und strukturiert gespeichert werden. Auch bei diesem letzten Transformationsprozess bleibt sichergestellt, dass die Ausgangsinformationen unberührt bestehen bleiben.
Gerade im Umfeld von Big-Data oder Massendaten anderer Art können in einem ETL-Prozess die Schritte 2 und 3 auch vertauscht werden. Es macht in diesem Fall mehr Sinn, die meist verteilten Daten vorab und im Rahmen einer Business-Logik mit Datenschemata zu konsolidieren und in einer Stage-Datenbank zu speichern. Erst danach werden die eigentlichen Transformationen auf den so geschaffenen Zentral-Datenbestand ausgeführt und final in eine Zieldatenbank überführt.
Beispiel eines ETL-Prozesses
Um die Vorgehensweise des ETL-Prozesses besser darstellen zu können soll ein kleines Beispiel den Ablauf demonstrieren. Wir gehen im Beispiel von dem häufigen Problem aus, dass in verschiedenen Unternehmensfilialen gleiche Produkte jedoch mit unterschiedlichen Artikelnummern gespeichert sind. Soll nun beispielsweise ein zentrales Backup oder eine wirtschaftliche Auswertung der Unternehmensdaten über alle Filialen stattfinden, müssen zuvor die Datenbestände angepasst und konsolidiert werden. Die folgende Tabelle veranschaulicht die Datensatzstrukturen:
Filiale | Artikelnummer | Artikelbezeichnung | Preis |
---|---|---|---|
Stammhaus Kiel (D) |
B-2510-A1 |
Beilagscheibe M8 V2A |
€ 0,14 / Stck. |
Filiale Nürnberg (D) |
B-1200-A1 |
Beilagscheibe M8 V2A |
€ 0,14 / Stck. |
Filiale Bern (CH) |
16-B2510-A1 |
Beilagscheibe M8 V2A |
CHF 1,58 / Pack (10er) |
Wenn diese Datenbestände zentral erfasst und ausgewertet werden sollen, müssen vorab einige Anpassungen zwischen den unterschiedlichen Datenbanken stattfinden. Zum einen braucht man hier eine Business-Regel zu den Artikelnummern. Diese sollen zentral unter einer einheitlichen Bezeichnung erfasst werden. Ausgehend von der Artikelnummer aus dem Stammhaus müssen alle anderen Filialdaten dahingehend angepasst werden.
Auf der anderen Seite müssen auch die Stückzahlgrößen und Preise harmonisiert werden. Einmal werden Einzelstückpreise gelistet, in der Schweizer Filiale allerdings Setpreise zu jeweils 10 Stück. Hier gilt es zudem, auch die unterschiedlichen Währungen anzupassen. Während des Datenintegrationsprozesses werden nun mit einem Data-Mapping und einer Standardisierung diese Anpassungen automatisiert ausgeführt und überprüft sowie in eine neue zentrale SQL-Datenbank eingespeichert. Das Datensatzergebnis sieht nun folgendermaßen aus:
Filiale | Artikelnummer | Artikelbezeichnung | Preis |
---|---|---|---|
Stammhaus Kiel (D) |
B-2510-A1 |
Beilagscheibe M8 V2A |
€ 0,14 / Stck. |
Filiale Nürnberg (D) |
B-2510-A1 |
Beilagscheibe M8 V2A |
€ 0,14 / Stck. |
Filiale Bern (CH) |
B-2510-A1 |
Beilagscheibe M8 V2A |
€ 0,14 / Stck. |
Fazit
Mit einem ETL-Prozess lassen sich auch stark verteilte und unterschiedliche Datenstrukturen auslesen, bereinigen, harmonisieren und transformieren und in einer zentralen Datenbank zusammenfassend speichern. Gerade größere oder international tätige Unternehmen und Konzerne haben oftmals unterschiedliche Procurement-Systeme in der Verwendung. Um in der Zentrale stets einen konzernweiten Überblick zu haben oder einen gemeinsamen Einkauf optimal steuern zu können, müssen häufig massenweise Daten konsolidiert und zu einer einheitlichen Datenbasis zusammengeführt werden.
Gemeinsam mit unseren Kunden entwickeln wir auch Integrationskonzepte für große und verteilte Datensysteme. Planen Sie bereits eine Datenintegration? Rufen Sie uns einfach an, wir unterbreiten Ihnen gerne ein maßgeschneidertes Angebot.