Inkrementelle Datenintegration

Was heisst inkrementelle Datenintegration?

Aufgabenstellung

Zuerst möchten wir kurz erklären, was wir unter dem Begriff ‚inkrementelle Datenintegration‘ verstehen.

Müssen Sie Daten aus fremden Quellen in eine Datenbank integrieren, stehen ihnen die so genannten ETL-Tools (extract, transfer, load) zur Verfügung. Müssen Sie die Daten in mehreren Schritten integrieren, kompliziert sich die Aufgabe. Denn die Daten verändern sich in der Regel in der Zeit zwischen zwei Integrationsschritten. In diesem Fall bleibt nichts anderes übrig, als die bereits integrierten Daten zu kennzeichnen. Nur so können die Integrationsprogramme im nächsten Schritt erkennen, was dann zu tun ist. Es kann durchaus sein, dass die bereits integrierten Daten sich in der Zwischenzeit verändert haben. Dann muss das Programm die Veränderungen korrekt nachführen.

Diese mehrfache Datenintegration nennen wir inkrementelle Datenintegration. Inkrementell heisst in diesem Fall: Das System übernimmt in jedem Schritt nur die jeweils geänderten Daten in die Datenbank. Zudem korrigiert es allenfalls schon importierte Daten.

Noch anspruchsvoller ist die mehrfache Integration, wenn entweder das Datenmodell der Quelldaten oder der Zieldaten oder sogar beide sich ändern. Dann verändern sich die Transformationsregeln mit jedem Schritt der Datenintegration. In diesem Fall muss das ETL-Tool zusätzlich die Transformationsregeln abspeichern. Es muss ausserdem die jeweils gültigen Regeln korrekt anwenden.

Data AppKit System

Die normalen ETL-Tools sind  mit dieser Aufgabe überfordert. Aus folgendem Grund kann der Anwender sie für diese Aufgabe nicht verwenden. Die Zwischentabellen dieser Tools sind nämlich nicht direkt zugänglich. Der Anwender kann somit nicht auf die zwischengespeicherten Daten zugreifen. Er hat keine Kontrolle über die inneren Tabellen des Tools. Diese ist aber notwendig, wenn er eine inkrementelle Datenintegration durchführen will.

Einen anderen Ansatz verfolgt das Data AppKit System der CrowTen. Das Data AppKit bietet ein Framework für die inkrementelle Datenintegration. CrowTen passt dieses Framework jeweils an die spezifische Situation an. Damit kann das System Daten in eine Zieldatenbank integrieren, auch wenn das Datenmodell sich ändert. Sogar mit einer Änderung des Datenmodells der Quelldaten kann das Data AppKit umgehen. Im kompliziertesten Fall ändern sich sogar beide Datenmodelle, Ziel und Quelle. CrowTen hat das Data AppKit zur inkrementellen Datenintegration in einem halben Dutzend Projekten eingesetzt. So beispielsweise bei der Integration der Daten des Gotthard Basistunnels.

Data AppKit System der CrowTen – mehr als ein ETL-Tool

Wir beschreiben hier kurz das Data AppKit Systems zur inkrementellen Datenintegration. Wir haben uns dabei auf die wichtigsten Eigenschaften beschränkt. Die Beschreibung richtet sich an Fachleute. Sie führt deshalb nur in knapper Form die wichtigsten Funktionen auf. Leider lassen sich Fachausdrücke nicht vermeiden.

Generische Datenbank

Die generische Datenbank hat die folgenden Eigenschaften:

  • Das CrowTen Data AppKit System basiert auf einer eigens für flexible Datenintegration entwickelten voll generischen Datenbank. Sie ist das Kernstück des Systems.
  • Datenmodell und Daten sind versioniert. Zusätzlich das System  Datenmodell und Daten bei Bedarf ganz oder teilweise historisiert abspeichern.
  • Das Datenmodell lässt sich auch noch anpassen, wenn der Anwender die Voraussetzungen an die Datenbank ändert, auch wenn sie bereits mit Daten befüllt ist.
  • Das System ist auch in der Lage, bereits vorgenommene manuelle Korrekturen und Anreicherungen nachzuführen.
  • Die generische Datenbank kann Hunderte von virtuellen Tabellen enthalten. Jede Tabelle kann ihrerseits Dutzende von Kopien für die Verarbeitungsschritte der Daten haben. Das System legt zusammen mit der Historisierung unter Umständen Zehntausende von Tabellen an. Eine herkömmliche Datenbank kann so etwas kaum mehr verwalten.
  • Vorgaben des Zieldatenmodells wie Datentypen, Feldlängen, Pflichtattribute, Wertelisten, erlaubte Wertebereiche, Formatierung, Eindeutigkeit etc. können im generischen Datenmodell hinterlegt werden.

Flexible Transformation

Die flexible Transformation hat die folgenden Eigenschaften:

  • Die Transformation der Daten vom Quelldatenmodell ins Zieldatenmodell ist über XML-Dateien flexibel konfigurierbar. Jede XML-Datei definiert einen Filter für die Quellobjekte, die transformiert werden, sowie Regeln und Funktionen für die Erzeugung der Zielobjekte.
  • Die Objekte müssen nicht 1:1 transformiert werden. Aus einem Quellobjekt können durchaus mehrere Zielobjekte entstehen. Umgekehrt lassen sich auch mehrere Quellobjekte zu einem Zielobjekt vereinen.
  • Die Transformation kann mehrmals durchgeführt werden, bis man sicher ist, dass alle Regeln korrekt definiert sind.

Inkrementelle Anreicherung

Die Daten sind manchmal nicht vollständig. Sie müssen dann manuell korrigiert und ergänzt oder angereichert werden. Zu diesem Zweck hat die inkrementelle Anreicherung die folgenden Eigenschaften:

  • Das Data AppKit System verfügt für diesen Fall über eine Zusatzfunktion. Es exportiert die Daten in Excel-Dateien. Daraufhin bearbeiten Fachleute die exportierten Daten. Danach werden die bearbeiteten Daten wieder importiert.
  • Einmal gemachte Änderungen sind im System gespeichert und gehen auch bei Änderungen des Datenmodells nicht verloren.
  • Bei wiederholter Anreicherung können die Fachleute die Arbeit genau nachvollziehen. In den Dateien sehen sie, welche Objekte sie bereits bearbeitet haben. Sie können dadurch feststellen, welche Objekte allenfalls im Quellsystem oder in der Transformation seit der letzten Bearbeitung geändert, hinzugefügt oder gelöscht wurden.
  • Um falsche Eingaben zu verhindern, sind die Spalten in den Excel Dateien falls nötig mit Wertelisten hinterlegt.
  • Zellen, die nicht verändert werden dürfen, lassen sich sperren,

Inkrementeller Export

Der inkrementelle Export har die folgenden Eigenschaften:

  • Der Export geschieht inkrementell. D.h. das Data AppKit System führt alle für den mehrfachen Export notwendigen Informationen  So speichert das Data AppKit System die bereits exportierten Objekte, die Attributwerte, die vom Zielsystem erhaltene Objekt-Identifikationen und die Status- und Fehlermeldungen.
  • Bei wiederholtem Export übergibt das System die Daten inkrementell, als Insert-, Update- und Delete-Aktionen ans Zielsystem.
  • Je nach den Möglichkeiten des Zielsystems geschieht der Export über Dateien, Web Services oder andere Schnittstellen.

Nachvollziehbarkeit

Die Nachvollziehbarkeit ist durch folgende Eigenschaften sichergestellt:

  • Alle Daten sind versioniert und können zusätzlich historisiert werden.
  • Das System legt Verarbeitungsstände der Objekte vor und nach jedem Verarbeitungsschritt ab. Es führt zudem für jeden Schritt Statistik-, Log- und Fehlertabellen. So kann der Anwender jederzeit Informationen über den Fortschritt, die Vollständigkeit und die Qualität der Datenintegration abrufen.

Vorteile der Datenintegration mit dem Data AppKit

Das Data AppKit System führt die Inkrementelle Datenintegration in einem vordefinierten Rahmen durch. Damit enthält die Struktur des Systems das gesamte Knowhow über die Abwicklung der inkrementellen Datenintegration. Es ist quasi im Data AppKit System enthalten. Selbstverständlich spart der Einsatz des Data AppKits in Projekten viel Zeit, Kosten und minimiert zudem die Projektrisiken.
Die Aufgabe ist abgrenzbar. Sie lässt sich beispielsweise innerhalb eines grösseren Entwicklungsprojekts auch als Teilaufgabe definieren. Wird sie an externe Spezialisten übergeben, setzt dies eigene Ressourcen frei. Ein Beispiel dafür ist die Verkehrsdatenaufbereitung der Deutschen Bahn AG.

 

Jürg Simonett

Dipl. El. Ing. ETH, Dr. sc. techn.

CEO
Senior Consultant bei System- und Datenintegrationsprojekten
bei CrowTen seit 1996

Jürg Simonett