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:
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.
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.
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.
|
|