Aufgabe: Datenmigration festlegen
Diese Aufgabe beschreibt, wie Sie eine traditionelle Datenquelle in eine Zieldatenbank migrieren.
Disziplinen: Analyse und Design
Zweck
  • Der Zweck dieser Aufgabe ist, die Datenmigration durch Definition des Umfangs, des Datenprofils und die Zuordnung von Datenquellen und Zieldatenbank festzulegen.
Beziehungen
RollenPrimärer Ausführender: Zusätzliche Ausführende:
EingabenVerbindlich: Optional:
Ausgaben
Prozessverwendung
Schritte
Migrationsumfang definieren
Zweck:  Umfang der Migration definieren

Die erste Aufgabe, die Sie ausführen, wenn Sie die Migration von Daten in eine neue Datenbank planen, ist die Definition des Migrationsumfangs. Einige spezielle Elemente dieser Aufgabe sind:

  • Zu migrierende Datenquellen und ihre Position identifizieren.
  • Systeme, die die aktuellen Datenquellen verwenden, und Systeme identifizieren, die die neue Datenbank verwenden.
  • Daten identifizieren, die noch nicht elektronisch festgehalten sind, und festlegen, wie sie in das neue System eingegeben werden.
  • Festlegen, ob die Quellendaten nach der Migration gesperrt werden sollen. Wenn die Quellendaten weiterhin verwendet werden sollen, kann die Pflege der Daten in der ursprünglichen Quelle und in der neuen Datenbank zu einem Problem werden.

Außerdem müssen Sie das relevante Subset der Quellendaten identifizieren. Datenmigrationsprojekte werden nicht unabhängig durchgeführt. Sie ergeben sich vielmehr aus anderen Entwicklungsarbeiten, z. B. Projekten, in denen ein traditionelles System weiterentwickelt oder ersetzt wird. Die Menge der gespeicherten Daten, die migriert werden müssen, leitet sich aus den Bedürfnissen dieser Entwicklungsarbeiten ab, da es gewöhnlich nicht sinnvoll ist, alle Daten des vorhandenen Systems zu migrieren. Im Folgenden finden Sie einige Ideen zu Elementen, auf deren Basis Sie den Migrationsumfang bestimmen können:

  • Gespeicherte Daten aus dem alten System können möglicherweise nicht in das Format des neuen Systems konvertiert werden. Unter Umständen haben die Daten aufgrund der Datenstrukturänderungen nicht mehr dieselbe Bedeutung.
  • Gespeicherte Daten aus früheren Jahren müssen nur noch auf Zusammenfassungsebene verwaltet werden.
  • Es kann verbindliche Anforderungen, wie z. B. Steuerverordnungen geben, die erfordern, dass detaillierte Langzeitdaten zwar für einen gewissen Zeitraum aufbewahrt werden. Dies bedeutet aber nicht, dass die Daten konvertiert werden müssen.

Idealerweise sollte die Datenmigration direkt vor der Produktion des neuen Systems stattfinden. Wenn die Daten jedoch sehr flüchtig, die Datenmengen sehr groß sind oder die Validierung der Migrationsergebnisse ein langwieriger Prozess ist, sind möglicherweise Änderungen an migrierten Daten erforderlich. Dies gilt insbesondere, wenn manuelle Daten erfasst, geprüft und anschließend in das automatisierte System eingegeben werden müssen. Unter diesen Umständen kann die Datenerfassung mehrere Monate dauern.

In solchen Fällen müssen Sie die Wartungsarbeiten planen und definieren, die erforderlich sind, um die migrierten Daten in dem Zeitraum zwischen Abschluss der Migration und Einleitung der Produktion auf dem neuesten Stand zu halten. Bei diesen Arbeiten muss ein Kompromiss zwischen Wirtschaftlichkeit (sie werden gewöhnlich nicht sehr lange verwendet) und Genauigkeit (sie dürfen keine Fehler in die konvertierten Daten einschleusen) gefunden werden. Außerdem sollten Sie, sofern anwendbar, Kontrollen und Prüfprotokolle umfassen.

Datenquellen durch Erstellung von Datenprofilen verstehen
Zweck:  Datenprofil der verschiedenen Datenquellen erstellen

Nachdem Sie die unterschiedlichen Datenquellen identifiziert haben, können Sie damit beginnen, sie zu analysieren, um ihr Datenprofil zu erstellen. Das Datenprofil ist eine Sammlung von Informationen zum Dateninhalt, zur Datenstruktur und zur Datenqualität, die in der Datenmigrationsspezifikation gespeichert wird.

Im Folgenden sind die Schritte für die Erstellung des Datenprofils ausführlich beschrieben:

Informationen erfassen

Der erste Schritt bei der Erstellung eines Datenprofils ist die Zusammenstellung der Metadaten, die die Datenquellen beschreiben. Dazu können Quellenprogramme, Wörterverzeichnisse, relationale Kataloginformationen, vorherige Projektdokumentationen und alles andere Dokumente gehören, die Licht auf die Bedeutung der Daten werfen. Wenn das System, das die Daten verwendet, mit RUP entwickelt worden ist, können Sie das Datenmodell, die Anwendungsfälle und die Anwendungsfallrealisierungen als Quellen verwenden, um zu verstehen, wie die Daten vom System verwendet werden. Interviews mit den ursprünglichen Entwicklern (sofern verfügbar) oder dem Datenbankadministrator, der die Daten verwaltet, können ebenfalls hilfreich sein.

Dokumentation (andere als die Informationen, die automatisch als Teil des Systems verwaltet werden oder rückentwickelt wurden) sollten mit Vorsicht genossen werden. Die Dokumentation war sicherlich zu einem früheren Zeitpunkt gültig, verliert aber mit der Zeit gewöhnlich an Genauigkeit. Traditionelle Systeme sind, was ihre Erstellung angelangt, häufig nur dürftig dokumentiert, und häufig hält die Dokumentation nicht mit den vorgenommenen Änderungen Schritt. Selbst wenn es ihnen an Aktualität fehlt, sind vorhandene Metadaten häufig die einzigen Informationen, die über Datenquellen und Datensemantik verfügbar sind. Der Profilerstellungsprozess legt die Dissonanz zwischen Metadaten und echten Daten offen und füllt die wichtigsten Teile der fehlenden Informationen auf.

Datenquellen analysieren

Der zweite Schritt bei der Profilerstellung ist die Entwicklung einer Zuordnung für die Datenquellen. Diese Zuordnung zeigt, wie Datenfelder gespeichert sind, und stellt Regeln für den Umfang mit Neudefinitionen und sich wiederholenden Gruppen von Daten in den Datenstrukturen auf.

Wenn es sich um eine relationale Datenquelle handelt, kann die Zuordnung direkt aus dem Datenbankschema extrahiert werden. Da diese Strukturen vom DBMS vorgegeben sind, muss ihre Gültigkeit nicht in Frage gestellt werden.

Wenn die Datenquelle nicht relational ist, müssen Sie die Metadaten zusammen mit den Daten verwenden, um eine normalisierte Form der Daten zu erhalten. "Überladenen" Attributen müssen Sie besondere Aufmerksamkeit schenken. "Überladen" ist der Prozess, bei dem mehrere Fakten in demselben Attribut gespeichert werden.

Nach Abschluss dieses Schritts der Profilerstellung können Sie probeweise eine vollständige Extraktion der Datenquellen in normalisierter Form durchführen, um die Datenprofilerstellung fortzusetzen. Normalerweise wird diese Extraktion mit Extraktionsscripts der Migrationskomponenten durchgeführt, weil dies auch eine gute Methode ist, um sie zu testen.

Profil der Datenquellenattribute erstellen

Der dritte Schritt bei der Profilerstellung ist die Bestimmung von Inhalt, Domäne und Qualität der Daten in jedem Attribut und die Festlegung der Semantik hinter jedem Attribut. Es ist wichtig, dass diese Operation mit den echten Quellendaten durchgeführt wird, da die dokumentierten Metadaten möglicherweise nicht korrekt sind.

Mit dieser Operation können Sie Folgendes ermitteln:

  • Attribute, die für eine Verwendung dokumentiert wurden, aber für eine andere genutzt werden,
  • Attribute, die zwar dokumentiert sind, aber nicht verwendet werden,
  • Inkonsistenzen zwischen dem Dateninhalt eines Attributs und seiner semantischen Bedeutung,
  • Kardinalität des Attributs, um inaktive Attribute (solche, die nur einen Wert enthalten) zu ermitteln.

Traditionelle und selbst relationale Systeme arbeiten im Allgemeinen mit "Denormalisierung" und Datenduplizierung, um die Leistung zu verbessern. Häufig fehlt es in diesen Systemen auch an Unterstützung für Primär- und Fremdschlüssel, d. h. Sie müssen die Quellentabellen analysieren, um die funktionalen Abhängigkeiten zwischen Attributen zu ermitteln und Kandidaten für Primär- und Fremdschlüssel zu finden.

Nachdem Sie die Erstellung des Attributprofils abgeschlossen haben, muss das Profil auf zwei verschiedenen Ebenen geprüft werden. Zuerst müssen Sie entscheiden, ob das Attribut migriert werden soll. Sie können sich gegen eine Migration eines Attributs entscheiden, wenn es keine hilfreichen Informationen enthält oder wenn die Daten von einer solch mangelhaften Qualität sind, dass das Attribut nicht migriert werden kann, ohne das Ziel zu beschädigen. Anschließend müssen Sie bestimmen, ob das Attribut während der Migration bereinigt werden soll.

Wenn während der Profilerstellung Qualitätsprobleme entdeckt wurden, müssen Sie eine Form der Datenbereinigung durchführen, d. h. ungültige, duplizierte, falsch formatierte oder unvollständige Daten entfernen oder berichtigen. Diese Operation wird gewöhnlich als Datenbereinigung bezeichnet.

Zuordnung zwischen Datenquellen und Zieldatenbank definieren
Zweck:  Die Zuordnung zwischen den Quellendatenbankelementen und dem entsprechenden Ziel beschreiben.

Die beiden Haupteingaben für diesen Schritt sind das im vorherigen Schritt ausgearbeitete Datenprofil und das physische Datenmodell der Zieldatenbank.

Ein weit verbreiteter Irrglaube ist, dass die Datenkonvertierung auf der Basis logischer Datenmodelle durchgeführt werden könnte. Da die Quellendaten jedoch in einem physischen Datenformat vorliegen und wir diese Daten in das neue physische Datenmodell migrieren müssen, ist es praktischer, die Konvertierung über diese physischen Formate anstatt indirekt über ein logisches Datenmodell vorzunehmen.

Die folgenden wichtigen Aspekte sind hierbei zu beachten:

  • Wie sollen Konflikte bereinigt werden, wenn es mehrere Quellen für dasselbe Zielattribut gibt.
  • Wie werden die Daten bereitgestellt, wenn es keine Quelle für ein Attribut gibt.

Um diesen Schritt erfolgreich ausführen zu können, muss der Datenbankdesigner mit einem Geschäftsdesigner, der sich bestens mit den zu migrierenden Daten auskennt, und mit einem Systemanalytiker, der sowohl das Quellen- als auch das Zielsystem kennt, zusammenarbeiten.

Die Konvertierung muss in der Datenmigrationsspezifikation aufgezeichnet werden.

Die beiden Haupteingabequellen für diesen Schritt sind das im vorherigen Schritt ausgearbeitete Datenprofil und das physische Datenmodell der Zieldatenbank.

Manuelle und automatisierte Datenmigration identifizieren
Zweck:  Die Teile der Datenquellen, die automatisch migriert werden können, und die Teile der Datenquellen identifizieren, die manuell migriert werden müssen.

Nachdem Sie die Datenprofile und die Datenkonvertierung der verschiedenen Datenquellen ausgearbeitet haben, müssen Sie feststellen, welche Teile der Datenmigration automatisch ausgeführt und welche Teile durch manuelle Prozeduren migriert werden müssen.

Die Seite Technik: Datenmigrationssubsysteme entwerfen gibt Ihnen einen Einblick, wie Komponenten für automatisierte Datenmigration entworfen werden.

Die Eingabe von manuell konvertierten Daten sollte nach Möglichkeit mit den Standarddateneingabeprozessen des neuen Systems durchgeführt werden. Gelegentlich sind spezielle Konvertierungsprozesse unvermeidlich. Ein typisches Beispiel hierfür ist die Masseneingabe im Stapelbetrieb von Daten, die gewöhnlich interaktiv eingegeben werden, aber die in so großer Menge vorliegen, dass eine interaktive Eingabe nicht pragmatisch wäre.

Die manuell migrierten Daten können in der Datenkonvertierungstabelle in der Datenmigrationsspezifikation angegeben werden.