Was ist zu tun, wenn die Daten sich nicht auf einmal in eine Datenbank integrieren lassen? Dann ist eine mehrfache Integration der Daten notwendig.
Und in welchen Fällen ist diese Aufgabe wirklich anspruchsvoll? Dann versagen die klassischen ETL-Tools ihren Dienst.
Wann kommt eine mehrfache Integration von Daten überhaupt vor?
In diesem Beitrag haben wir die verschiedenen Situationen beschrieben, die eine mehrfache Integration der Daten notwendig machen. Danach stellen wir die verschiedenen Aufgabenstellungen vor. Zum Schluss zeigen wir Anforderungen auf, welche an eine Lösung für die mehrfache Integration von Daten gestellt werden. Das von CrowTen realisierte System zur inkrementellen Datenintegration haben wir in einen speziellen Beitrag ausgelagert.
Situationen für mehrfache Integration von Daten
In drei Situationen ist die mehrfache Integration von Daten unumgänglich. Allen drei ist gemeinsam, dass die Integration lange dauert. Je länger diese Phase andauert, desto grösser werden die Schwierigkeiten. Die Wahrscheinlichkeit, dass sich die Randbedingung verändern, wächst mit der Zeit. Besonders kritisch ist es, wenn sich das Datenmodell verändert.
Die häufigsten drei Situationen sind:
- Agile Projektentwicklung
Bei agiler Projektentwicklung gehört die Änderung des Datenmodells zum Verfahren. Bei jedem Entwicklungsschritt kommen neue Anforderungen dazu. Bereits integrierte Daten passen nicht mehr ins neu definierte Datenmodell. Sie sind neu zu integrieren. Dies ist eine erstes Beispiel Situation für die mehrfache Datenintegration.
- Lange Integrationsphase bei komplexer Integration
Ein zweites Beispiel ist die Integration komplexer Daten, die sich über eine lange Dauer erstreckt. Auch dann ist es wahrscheinlich, dass das Datenmodell sich im Lauf der Zeit ändert. Dadurch sind die ursprünglichen Daten Definitionen sind nicht mehr gültig. Die Daten sind dann in einer Form, die nicht mehr passt. Die Änderungen des Datenmodells machen eine mehrfache Datenintegration notwendig.
- Etappenweiser Systementwicklung und -einführung
Zuletzt betrachten wir die etappenweise Entwicklung und Inbetriebnahme von Systemen. Die Entwicklung erfolgt in Realisierungseinheiten. In jeder neuen Etappe ist das Datenmodell erweitert. Bereits integrierte Daten müssen dann unter Umständen neu transformiert und integriert werden. Die Integration der Daten erfolgt in diesem Fall mehrfach.
Aufgabenstellung
Klassisches-ETL-Tool
Wir gehen von der ganz normalen Integration der Daten aus. Die dazu benötigte Software heisst mit ETL-Tool (extract – transfer – load). Eine ganze Anzahl solcher Tools ist erhältlich. Ihre Funktionsweise ist schematisch in Fig. 1 dargestellt.
Die Daten aus dem Quellsystem werden importiert, transformiert und dann in die Zieldatenstruktur exportiert.
ETL-Tool mit Anreicherung
Die ETL-Tools bieten meist eine Zusatzfunktion zur Anreicherung der Daten. Die Quelldaten sind oft nicht vollständig. Fehlende Inhalte werden dann in einem zusätzlichen Zwischenschritt ergänzt. Dies können fehlende Datenwerte sein, aber auch neue Attribute, die hinzugefügt werden. Wir haben diese Situation schematisch in Fig. 2 dargestellt.
ETL-Tool mit Änderung des Datenmodells
Ändert sich das Datenmodell, wird die Datenintegration wirklich anspruchsvoll. Dann werden die Daten mehrfach integriert. Und zwar jedes Mal unterschiedlich. Dabei muss das ETL-Tool bereits integrierte Daten in das neue Modell überführen. Gleichzeitig kommen neue Quelldaten dazu. Auch sie muss das Tool gemäss den neuen Regeln transformieren.
Die klassischen ETL-Tools sind mit dieser Situation überfordert. Denn die Transformation, die Anreicherung und der Export (Load) verändern sich bei jeder Datenintegration. Damit eine solche Integration richtig funktioniert, braucht es bei allen drei Schritte folgende Anpassungen:
- Transformation
Die Transformationsregeln müssen jedes Mal angepasst werden. Sonst passen die transformierten Objekte nicht mehr in das Ziel-Datenmodell. - Anreicherung
Auch die bisher angereicherten Daten passen nicht mehr, wenn sich das Zieldatenmodell ändert. Sie müssen ebenfalls nochmals transformiert werden. Sonst ist die ganze bisher geleistete Arbeit der Anreicherung verloren. Dabei können auch Widersprüche mit den neu eingelesenen Daten auftreten. Das Tool muss die Konfliktfälle aufzeigen. Im Idealfall stellt es eine spezielle Funktion zur Verfügung. Mit dieser lassen die Konflikte am Bildschirm dann interaktiv lösen. - Export
Die Objekte mit neuem Datenmodell müssen neu exportiert werden. Andernfalls fehlen sie in den Zieldaten.
Softwarelösung für die mehrfache Integration von Daten
CrowTen hat ein System entwickelt, welches die anspruchsvolle mehrfache Integration von Daten beherrscht. Darüber haben wir in einem separaten Beitrag zur inkrementellen Datenintegration geschrieben. Dort stellen wir die Anforderungen und Randbedingungen an ein solches System detailliert vor. Die Schweizerischen Bundesbahnen setzten dieses System bei der Integration der Daten des Gotthard Basistunnels ein.