in ,

ETL – 3 Buchstaben, die Massen bewegen

Sie sind ein zentrales Herzstück eines jeden Data Warehouses. Der Grund für so manches Kopfzerbrechen eines jeden Data Warehouse Spezialisten. Und der Grund, aus dem sich Massen in Bewegung setzen. Datenmassen.

Drei Buchstaben sind es, die Data Warehouses und Big Data Anwendungen zum Laufen bringen – ETL. Extract. Transform. Load. Damit wird die Essenz des Prozesses erfasst, der notwendig ist, um Daten von ihrem Entstehungsort in den diversesten vorgelagerten Systemen zu ihrer Weiterverwendung in Data Warehouses zu transferieren, und der automatisierten wie menschlichen Analyse zugänglich zu machen.

Was Sie sich unter den einzelnen Begriffen vorstellen können, was im Zuge eines typischen ETL Prozesses passiert, und wie das alles miteinander zusammenhängt, erläutern wir Ihnen hier in den folgenden Abschnitten.

Erster Streich – Extract

E wie „Extract“ steht am Beginn und steht für den systematischen Abzug der Daten aus den vorgelagerten Systemen. Dabei kann es sich um produktive Systeme handeln, in denen Daten direkt in Interaktion mit Endanwendern oder -systemen erfasst und gesammelt werden. Aber auch andere Data Warehouses sind als Datenquelle für ein nachgelagertes Data Warehouse denkbar.

Bei diesem Schritt handelt es sich keinesfalls um ein stumpfes Kopieren von Daten, wie man es sich im ersten Moment vielleicht denken könnte. Vielmehr ist dieser Schritt essentiell, um ein solides Datenfundament für die weitere Verarbeitung schaffen zu können.

Nötig ist er, da Data Warehouses im Allgemeinen nicht aus einer einzelnen Datenquelle, sondern aus einer Vielzahl von Systemen befüllt werden, die nicht in Bezug zu einander stehen, und somit unterschiedliche Datenformate (Datenbanken, Textfiles, Datenstreams, etc.), unterschiedliche logische Datenmodelle und unterschiedliche fachliche Definitionen von Attributen als Ausgangsbasis die Regel darstellen.

Folglich verwendet man den ersten Schritt des ETL Prozesses dafür, Daten zu filtern, Datenmodelle anzugleichen, Ausprägungen anzugleichen und mehr. Ziel ist es, alle Ausgangsdaten einzeln in ein Format zu bringen, in dem sie im nächsten Schritt miteinander in Verbindungen gesetzt und zu einer gemeinsamen Datenbasis verschmolzen werden können.

Zweiter Streich – Transform

T wie „Transform“ schließt an den „Extract“-Schritt an, und steht für die systematische Überführung der vorher vereinheitlichten Daten in ein Format, in dem sie später einfach und effizient analysiert werden können. Ein allgemeines Vorgehen, das in jedem Fall anwendbar ist, kann für diesen Schritt kaum festgelegt werden – hier liegt die Magie eines ETL Prozesses begraben. Es sind technisches Wissen und Geschick, fachliches Verständnis und ein Funke Kreativität auf Seiten des Prozessarchitekten gefragt, um zu gut funktionierenden Abläufen zu kommen.

Einige der klassischen Werkzeuge, auf die man sich in diesem Schritt berufen kann, beinhalten:

  • die Zusammenführung getrennter Datensätze in einen einzigen Datensatz,
  • die Aufteilung einzeln vorhandener Datensätze auf mehrere getrennte Entitäten,
  • die Zusammenführung und Trennung von Daten anhand fachlicher Kriterien,
  • die Berechnung neuer Attribute anhand von fachlichen Definitionen,
  • technische Performanceoptimierungen,
  • Extraktion von Stammdaten aus Bewegungsdaten,
  • und vieles, vieles mehr.

Letzter Streich – Load

L wie „Load“ bildet den Abschluss des Prozesses und steht für die Überführung der im vorigen Schritt aufbereiteten Daten aus der getrennt gehaltenen Aufbereitungsumgebung in das Ziel-Datawarehouse. Wie schon beim „Extract“-Schritt, wirkt dieser Schritt auf den ersten Blick einfach, lasst sich jedoch auch keinesfalls auf ein simples Kopieren von Daten reduzieren, und kann einige Tücken und Fallstricke enthalten.

Gängige Schritte, die in diesem Schritt abgewickelt werden, beinhalten:

  • Konsolidierung der vorhandenen Stammdaten mit den neu übermittelten Daten,
  • Aktualisierung bereits vorhandener Datensätze anhand der neu übermittelten Daten,
  • Abwicklung von Storno- und Löschlogiken,
  • Entscheidung welche Daten übernommen und welche verworfen werden,
  • und vieles, vieles mehr.

Besonders heikel ist hier die Tatsache, dass man im Allgemeinen in Daten eingreift, die bereits produktiv verwendet werden. Sicherheitsprüfungen und die saubere Abwicklung von Rollbacks im Fehlerfall sind hier essentiell.

 

Fazit

ETL Prozesse sind ein nicht mehr wegzudenkender Bestandteil der Business-Intelligence-Landschaft geworden. Ihre Grundstruktur wirkt simpel, doch bieten sich darin Möglichkeiten, auch die komplextesten Anforderungen abwickeln zu können. Jeder Teilschritt sollte gut durchdacht und designt sein, um die technische und fachliche Integrität ihres Data Warehouses sowie seine Performance und Aussagekraft von Analysen nachhaltig gewährleisten zu können.

Als erfahrener Dienstleister im Data Warehousing-Bereich haben wir selbst schon unzählige ETL Prozesse entwickelt. Wir kennen die Tücken und Fallstricke, die hier lauern und die Tricks, um mit ihnen umzugehen. Profitieren Sie von unserer Erfahrung und lassen Sie uns gemeinsam Ihren ETL Prozess entwickeln!

Ubuntu Server Installation mit dem (neuen) Live Installer

Fuzzy Matching in Python