Synchronisation von Daten – die Kernaufgaben

Synchronisation von Daten heisst: Zwei Datenbanken tauschen laufend ihre Daten aus. Dabei verändern sich die Daten beider Datenbanken unabhängig voneinander. Wir müssen sie also synchronisieren.

Diese Situation kommt relativ häufig vor. Zwei Datenbestände verwalten zum Teil dieselben Objekte. Diese haben jedoch keinen gemeinsamen Identifikationsschlüssel. Zudem sind die Daten auch unterschiedlich strukturiert. Das Ziel der Synchronisation ist es, Objekte zwischen den Datenbeständen korrekt miteinander zu verknüpfen und deren Informationen auszutauschen. Dazu ist es notwendig herauszufinden, welche Objekte zusammengehören.

Um die Synchronisation korrekt durchzuführen, sind die folgenden drei Kernaufgaben zu lösen:

1. Transformation

Damit Daten aus verschiedenen Quellen zusammengeführt werden können, müssen sie zuerst in einer gemeinsamen Struktur vorliegen. Doch sind In den wenigsten Fällen  sind die Objekte in den beiden Datenbeständen in derselben Struktur abgelegt. Eine Transformation der Daten in eine gemeinsame Struktur ist somit notwendig.

Diese Transformationen können einfach sein. Dies ist beispielsweise der Fall, wenn es sich um reine Formattransformationen handelt. Auch Umformung in andere Masseinheiten gehören zu den einfachen Aufgaben. Einfache Regeln definieren hier die Übersetzung. Die Transformationsprogramme führen dann die Übersetzung automatisch durch.

Schon komplizierter wird es, wenn zwar die Inhalte übereinstimmen, sie jedoch nicht gleich verwaltet werden. Häufig tritt dies bei Adressen auf. Da können Strassenname und Hausnummer in einem oder in 2 Feldern abgelegt sein. Die Regeln zur Transformation sind scheinbar eindeutig. Doch sind in Adressfeldern manchmal auch andere Informationen abgelegt sind, wie beispielsweise ‚Postfach‘. Deshalb empfehlen wir, die Datentransformation mindestens mit Stichproben durch Spezialisten überprüfen zu lassen.

Manchmal sind die Transformationen jedoch wirklich anspruchsvoll. In diesem Fall ist eine sorgfältige Analyse unerlässlich. Häufig müssen Fachspezialisten mithelfen, die Transformationsregeln festzulegen. Informatiker programmieren anschliessend diese Regeln. Danach werden die Daten in die gemeinsame Struktur übersetzt. Eine Überprüfung durch die Fachpersonen ist hier unerlässlich.

Nach der Transformation sind die Daten bereit. Sie können jetzt zusammengeführt werden. Zuerst muss man  allerdings herausfinden, welche Objekte zusammengehören. Sie haben ja keinen gemeinsamen Schlüssel.

2. Objektidentifikation

Die nächste Aufgabe ist die Objektidentifikation. Die Objekte der beiden Datenquellen müssen einander zugeordnet werden können. Es stellt sich somit die Aufgabe zu bestimmen, welche Objekte zusammengehören.

Um diese Frage zu beantworten müssen die Objekte beider Datenbestände eindeutig identifiziert werden. Ein eindeutiger Identifikationsschlüssel wird konstruiert. Dazu stehen prinzipiell alle Nutzattribute zur Verfügung. Doch welche Attribute können für die Identifikation am besten verwendet werden? Zur Beantwortung dieser Frage werden die Datenbestände analysiert. Das Resultat der Analyse zeigt, diejenigen Attribute, welche die Objekte mit höchster Eindeutigkeit beschreiben.

Dazu zwei Beispiele:

Das erste Beispiel handelt von Personendaten. Personen haben einen Namen und Vornamen. Diese Attribute gehören zu den identifizierenden Merkmalen. Sie reichen jedoch nicht aus. Zusätzliche Informationen sind beizuziehen, um Eindeutigkeit zu erhalten. Je nachdem, welche Informationen zur Verfügung stehen, werden das Geburtsdatum, die Telefonnummer, die Adresse, der Beruf, etc. zur Identifikation herangezogen. Zur eindeutigen Identifikation sind bei Personendaten meistens vier unterschiedliche Attribute notwendig.

Im zweiten Beispiel handelt es sich um Gebäude. Hier liefert die Adresse eine gute Grundlage zur Identifikation des Objekts. Doch leider gibt es Gebäude ohne Adressen und Gebäude mit mehreren Adressen. Deshalb muss man auch hier werden zur eindeutigen Identifikation weitere Kritiken wie Art oder Nutzung des Gebäudes, Parzellennummer, etc. heranziehen.

Ein Teil der Identifikation der Objekte lässt sich automatisieren. In der Regel können jedoch bei der ersten Synchronisation nicht alle Objekte automatisch identifiziert werden. Dann ist eine manuelle Nachbearbeitung notwendig.

3. Zusammenfügen der Objekte – Aufbereiten der Resultate

Sind die Objekte eindeutig identifiziert, werden die Resultatdaten aufbereitet. Daten aus den beiden Datenbeständen werden zusammengeführt oder ausgetauscht. Die spezifische Anwendung definiert die Aufbereitung der Daten. Doch sind in allen Fällen der Datensynchronisation vorgängig die Schritte: Transformation und Objektidentifikation durchzuführen.

Unterstützung durch Software-Werkzeuge

Aufgaben der Datensynchronisation haben eine gleichbleibende Struktur. Deshalb können Software-Werkzeuge bei der Synchronisation von Daten gute Duienste leisten.

Datensynchronisation, Datenanalyse
Abb.1: Data AppKit ein Werkzeugkasten zur Synchronisation von Daten

Beispielsweise sind im Data AppKit der CrowTen ausgefeilte Software-Werkzeuge enthalten. Sie unterstützen die Kernaufgaben der Synchronisation rasch und zielgerichtet

Jürg Simonett

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

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

Jürg Simonett