Mit Datenintegration wird die Zusammenführung von Daten aus verschiedenen Quellen bezeichnet. Als Anwender finde ich die Daten dann leicht verknüpfbar und gemeinsam nutzbar vor. ETL bedeutet „Extract, Transform, Load“ und bezeichnet eine Vorgehensweise bei Datenintegration. Insofern sind Datenintegration und ETL nicht Synonym, vielmehr ist ETL eine von verschiedenen Varianten.

Wozu dienen Datenintegration und ETL?

In einem einzigen System (z. B. einer Datenbank) zusammengefasste Daten erlauben Anwendern und Programmen leichter zu arbeiten. Das ist insbesondere einfacher als die Daten jedesmal aus verschiedenen Quellen zu beziehen. Folgende Vorteile sind besonders evident:

  • Einheitliche Datenstrukturen und Technologie für den Datenzugriff
  • Auf unterschiedliche Verfügbarkeit von Daten muss keine Rücksicht genommen werden.
  • Kopieren auf ein weiteres System nimmt die Last vom Operativsystem.
  • Dateninhalte können leicht angeglichen werden, so dass eine einheitliche Semantik genutzt wird.
  • Datenqualität kann gezielt gesteuert werden.
  • (Zwischen-) Ergebnisse können zusammen mit den Ausgangsdaten gespeichert und später wiederverwendet werden.
  • Datenstrukturen können auf einen anderen Verwendungszweck, z. B. Massendatenanalyse statt Einzelsatzoperation hin ausgelegt werden.

Auch andere Vorgehensweisen oder Technologien eignen sich um diese Ziele zu erreichen.

ETL Vorgehensweise

Um die oben genannten Zwecke zu erreichen setze ich (wie auch die meisten anderen Berater) auf ein strukturiertes Vorgehen und klare Architekturen. Dabei ist der genaue Einsatzzweck des geplanten Datenpools Ausgangspunkt für alle Überlegungen zu Datenintegration und ETL.

Datendrehscheibe („Hub“): Soll Ihre Datensammelung den Charakter einer Datendrehscheibe haben, mit der Sie verschiedene Anwendungen mit konsolidierten Daten versorgen möchten?

Reporting und Business Intelligence: Für die regelmäßige Befüllung von Berichten und Analysen über die Inhalte mehrere Quellsysteme hinweg.

Datenarchiv: Sollen Ihre Daten möglichst unverfälscht und historisch nachvollziehbar aufbewahrt werden?

Berechnung von KPIs: Sollen auf konsolidierten Daten in erster Linie Kennzahlen berechnet und regelmäßig bereitgestellt werden

Analytics: Sie möchten auf zusammengeführten Daten regelmäßig Auswertungen durchführen deren Inhalt Sie noch nicht genau kennen.

Für diese und mehr Verwendungszwecke gibt es verschiedene Architekturen und Vorgehensweisen. In Ihrem Fall trifft sicherlich auch nicht nur einer dieser Anwendungsfälle zu. Dabei müssen die verschiedenen benötigten Aspekte unter einen Hut gebracht werden.

ETL vs. ELT

ETL und ELT bezeichnen zwei unterschiedliche Vorgehen. Entscheidend ist wie sie schon ahnen die Reihenfolge in der Verarbeitung. Dahinter steckt aber ein sehr wichtiges Paradigma: während bei der („klassischen“) Vorgehensweise mittels ETL Daten zunächst in ein einheitliches Format gebracht werden (transformiert), geschieht dies bei ELT nicht unmittelbar. Bei ELT werden die Daten zunächst wie sie sind bereitgestellt, und anschließend bei der Nutzung transformiert. Dieser neuere Ansatz entstammt dabei eher der „Big-Data-Welt“ und ist eher analytische Szenarien und Ansätze geeignet.

Tools für Datenintegration und ETL

ETL und Datenintegration kann mit verschiedensten Werkzeugen erfolgen, die je nach Anwendungszweck tendenziell für größere Unternehmen oder für kleiner Vorhaben gedacht bzw. geeignet sind. EIne willkürliche Auswahl, zunächst Werkzeuge für größere Umgebungen:

  • Informatica hat mit PowerCenter ein weit verbreitetes ETL Werkzeug neben vielen anderen Softwareprodukten zum Datenmanagement
  • DataStage ist ein Produkt von IBM aus der InfoSphere Produtkfamilie (der frühere Hersteller Ascential wurde von IBM übernommen)
  • Talend Data Integration gibt es auch in einer frei erhältlichen Variante, der Hersteller hat ebenfalls viele Produkte zum Datenmanagement im Angebot.
  • ….und viele andere

Werkzeuge für kleinere Vorhaben gibt es recht häufig, hier wandelt sich der Market jedoch relativ schnell. Als Beispiel möchte ich hier auf EasyMorph verweisen, das auch für Desktop-Anwendungen eine freie Variante mit einer durchaus sehenswerten Breite an Funktionalität mitbringt.

Mit Hilfe von Skripten lassen sich ebenfalls sämtliche dieser Aufgaben erledigen. (Tatsächlich sind fast alle Werkzeuge zur Erstellung von ETL-Strecken letztlich Skript- oder Programmcode-Generatoren.) Entscheidend ist dabei welche Teile der Steuerung in der Datenbank, und welche ausserhalb der Datenbank erledigt werden sollen. Letztlich bleibt das Schreiben von Skripts die schnellste, aber auch die anfälligste und am schwersten wartbare Alternative wenn Umgebungen komplexer werden.