Datenbankmigrationstool

Konvertierung von Daten von einer Datenbank in eine andere

  • Migrieren von Daten zwischen Datenbanken
  • Unterstützung aller wichtigen relationalen Datenbanken
  • Konvertierung von SQL- in NoSQL-Datenbanken
  • Grafisches No-Code-Datenmapping
  • Definition von Datenbankschlüssel-Einstellungen
  • Mappen von Spalten mit unterschiedlichen Namen, Typen und Strukturen
  • Definition von Datenbankaktionen
  • Unterstützung für gespeicherte SQL-Prozeduren
  • Ausgabeprotokollierung & Fehlerbehandlung mit Rollback
  • Direkte Abfrage von Datenbanken
  • Sortierung und Filtern von Datenbank-Input-Komponenten
  • Sofortige Konvertierung & kostengünstige Automatisierungsoptionen

Datenbankmigrationstools

Das Übertragen von Daten aus einer Datenbank in eine andere gehört zu den häufigsten Aufgaben im Datenmanagement - ganz gleich, ob es darum geht, Systeme nach einer Fusion zu konsolidieren, eine veraltete Plattform außer Betrieb zu nehmen, auf einen einzigen Datenbankanbieter zu standardisieren oder eine Desktop-Datenbank in eine Server-Datenbank zu migrieren. Altova MapForce ist ein Datenbankmigrationstool, mit dem Sie diese Konvertierungen über eine visuelle Drag-and-Drop-Oberfläche durchführen können, ohne von Hand Migrationsskripts schreiben zu müssen.

MapForce stellt eine Verbindung zu Ihrer Quell-und Zieldatenbank her, liest beide Schemas automatisch und ermöglicht es Ihnen, durch Ziehen von Verbindungen zwischen den Tabellen und Spalten auf beiden Seiten Migrationsregeln zu definieren. Da die Quell- und Zieldatenbank explizit gemappt werden, müssen die Schemas nicht identisch sein: Sie können Spalten umbenennen, Felder aufteilen und kombinieren, Datentypen konvertieren, Zeilen filtern und die Struktur der Zieldatenbank im Rahmen derselben Migration anpassen.

Unterstützte relationale Datenbanken:

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

Unterstützte NoSQL-Datenbanken:

  • MongoDB
  • CouchDB
  • Microsoft Azure Cosmos DB

Jede unterstützte Datenbank kann sowohl als Quell- als auch Zieldatenbank fungieren. Das bedeutet, dass Sie mit demselben Tool jede beliebige Quell-Zieldatenbankkombination aus der obigen Liste mappen können und es sich nicht um einen einzigen festgelegten Migrationspfad handelt.

So funktioniert eine Migration von einer Datenbank zu einer anderen:

Mit Hilfe der visuellen Drag-and-Drop-Datenmappingtools in MapForce lässt sich ein Datenbank-Migrationsprojekt ganz einfach definieren. Als Ausgangsbasis können Sie nach dem Laden Ihrer Quell- und Zielstruktur auch Vorschläge der Altova-KI verwenden.

1. Stellen Sie eine Verbindung zur Quelldatenbank her. Der Datenbankverbindungsassistent führt Sie Schritt für Schritt durch den Verbindungsvorgang. SQLite-Verbindungen werden als native, direkte Verbindungen zur Datenbankdatei unterstützt. Es werden keine separaten Treiber benötigt. Andere Datenbankverbindungen werden nativ oder über Standardschnittstellen wie ODBC, JDBC, ADO und ADO.NET hergestelllt.

2. Stellen Sie eine Verbindung zur Zieldatenbank her. MapForce lädt das Zielschema auf die gleiche Art und zeigt die verfügbaren Tabellen, Ansichten und Beziehungen an.

3. Mappen Sie die Tabellen und Spalten. Ziehen Sie Verbindungslinien zwischen Quell- und Zieldatenbank. MapForce erkennt Tabellenbeziehungen automatisch, so dass die Struktur miteinander in Zusammenhang stehender Tabellen im Mapping erhalten bleibt.

4. Transformieren Sie die Daten nach Bedarf. Fügen Sie zwischen der Quell- und Zielkomponente Filter, Bedingungen und Datenverarbeitungsfunktionen ein, um Typen zu konvertieren, Werte umzuformatieren, Felder miteinander zu verketten oder aufzuteilen und nicht benötigte Zeilen zu exkludieren.

5. Zeigen Sie eine Vorschau an und führen Sie das Mapping aus. Mit Hilfe des integrierten MapForce-Prozessors können Sie die SQL-Skripts - SELECT- INSERT-, UPDATE- und DELETE-Anweisungen - auf dem Register "Ausgabe" anzeigen, bevor Sie sie an der Zieldatenbank ausführen.

Migrationspfade

Im Folgenden werden einige der häufigsten Aufgaben bei der Migration von einer Datenbank zu einer anderen beschrieben. Dieselbe Methode wird auch auf jede andere Kombination aus unterstützten Datenbanken angewendet.

Migration von Oracle zu PostgreSQL

Unternehmen, die von Oracle auf PostgreSQL umsteigen, müssen Tabellendaten zwischen zwei Datenbanken übertragen, in denen Spalten unterschiedlich benannt und typisiert werden. Mit seinem Datenbankverbindungsassistenten stellt MapForce über JDBC oder ODBC eine Verbindung zu Oracle her und über eine native oder eine treiberbasierte Verbindung eine Verbindung zu PostgreSQL her. Beide Schemas werden in das Mapping-Fenster geladen, wo Sie Oracle-Tabellen auf ihre PostgreSQL-Entsprechung ziehen können (oder Sie verwenden dazu die Altova-KI).

Genauso einfach lassen sich Datenverarbeitungsfunktionen per Drag-and-Drop einfügen, um Werte zwischen Oracle- und PostgreSQL-Datentypen zu konvertieren, Datums- und Zeitstempelformate anzupassen und NULL-Werte gemäß den Regeln der betroffenen Datenbanken Null-konform zu behandeln. Mit Hilfe von Datenbankschlüssel-Einstellungen können Sie festlegen, ob die Primär- und Sekundärschlüsselwerte aus der Oracle-Quelle übernommen oder von PostgreSQL beim Einfügen generiert werden sollen.

Migration von MySQL zu PostgreSQL

Die Migration von MySQL zum PostgreSQL ist eine der häufigsten Konvertierungen, für die MapForce eingesetzt wird. Nachdem beide Datenstrukturen geladen wurden, interpretiert MapForce jedes Schema, zeigt die verfügbaren Tabellen und Ansichten an und erkennt die Beziehungen zwischen diesen. Stellen Sie die Migration durch Ziehen von Verbindungslinien zwischen der Quell- und Zielstruktur und Hinzufügen von Datenverarbeitungsfunktionen zwischen unterschiedlichen MySQL- und PostgreSQL-Typen und -Konventionen fertig.

Da das Mapping in Form eines wiederverwendbaren Designs gespeichert wird, kann dieselbe MySQL-zu-PostgreSQL-Migration bei jeder Änderung der Datenquelle, z.B. während einer stufenweisen Umstellung oder als wiederkehrender Ladevorgang erneut ausgeführt werden.

Migration von SQLite zu MySQL

Häufig werden SQLite-Datenbanken für die lokale oder eingebettete Speicherung verwendet und müssen später auf einen gemeinsam genutzten MySQL-Server übertragen werden.

Die Crux bei der SQLite-Migration sind die flexiblen Datentypen: Lose in SQLite gespeicherte Werte müssen neu auf explizit typisierte MySQL-Spalten gemappt werden. Die MapForce Datenverarbeitungsfunktionen führen diese Konvertierung innerhalb des Mappings durch, sodass Werte mit ihren korrekten Datentypen in die MySQL-Zieldatenbank geschrieben werden.

Migration von SQL Server zu MySQL

Bei der Migration von MSSQL zu MySQL berücksichtigt MapForce die Schemaunterschiede zwischen den beiden Datenbanken im Rahmen des Mappings: Die Umbenennung von Spalten, die Typkonvertierung und die Werteformatierung erfolgen alle grafisch anstatt über Migrationsskripts. Mit Hilfe von Tabellenaktionen können Sie festlegen, wie die Daten gemappt werden. Sie können für jede Tabelle zwischen INSERT, UPDATE oder DELETE wählen und definieren, anhand welcher Spalten MapForce feststellt, ob eine Zeile in der Ziekomponente bereits vorhanden ist.

Migration von Microsoft Access zu SQL Server

Access-Datenbanken, die für Desktops zu groß geworden sind, werden normalerweise zu SQL Server migriert. MapForce stellt die Verbindung zu Microsoft Access und SQL Server über ADO her, lädt beide Schemas und erlaubt Ihnen, Access-Tabellen und -Abfragen auf SQL Server-Tabellen zu mappen.

Access- und SQL Server weisen unterschiedliche Datentypen, Schlüsselbehandlung und Namenskonventionen auf. Durch das visuelle Mappen der Datenbanken werden diese Unterschiede explizit sichtbar und Sie können diese ein einziges Mal im Mapping korrigieren, anstatt dies wiederholt in den Daten tun zu müssen. Die Datenbankschlüssel-Einstellungen legen fest, ob "AutoNumber"-Werte aus Access übernommen oder durch SQL Server-Identitätswerte ersetzt werden.

Migration von Access (ACCDB) zu SQLite

Durch die Konvertierung einer ACCDB-Datei in SQLite wird eine Access-Datenbank in ein schlankes, dateibasiertes Format umgewandelt, das überall ausgeführt werden kann. MapForce liest die Access-Datenbank über ADO ein und schreibt über eine native Verbindung in die SQLite-Datei. Wie bei jeder Migration in MapForce müssen Quell- und Zielschema nicht übereinstimmen. Sie können ein Schema bei der Transformation in SQLite vereinfachen, umbenennen oder die Access-Struktur in Teilmengen unterteilen.

Migration von MariaDB zu MySQL

MariaDB und MySQL sind eng miteinander verwandt, doch müssen Datentypen, Schlüssel und unterschiedliche Spaltendefinition bei einer Migration zwischen diesen Datenbanken dennoch berücksichtigt werden. Wo Schemas identisch sind, besteht das Mapping aus einigen direkten Verbindungen. Wo diese sich voneinander unterscheiden, werden dieselben Filter und Funktionen wie bei jeder anderen Datenbankmigration verwendet.

Migration von SQL zu NoSQL

Daten aus relationalen Datenbank lassen sich in MapForce auch zu NoSQL-Datenbanken wie MongoDB, CouchDB und Microsoft Azure Cosmos DB migrieren. Zeilen aus relationalen Datenbanken und damit in Zusammenhang stehende Tabellen werden visuell auf Dokumentstrukturen gemappt, sodass sich ein normalisiertes SQL-Schema im Rahmen der Migration und nicht in einem separaten Transformationsschritt in Dokumente umwandeln lässt.

Filtern und Verarbeiten von Daten

Bei den meisten realen Migrationen werden keine reinen Spalte-auf-Spalte-Mappings erstellt. MapForce verfügt über eine Bibliothek von Datenverarbeitungsfunktionen für logische Vergleiche, mathematische Berechnungen, die Bearbeitung von Strings und die Behandlung von Datums- und Uhrzeitwerten, plus Filter und Bedingungen, mit denen festgelegt wird, welche Zeilen in die Zielkomponente übertragen werden.

Das bedeutet, Sie können eine Teilmenge der Quelldaten migrieren, zwei Quellspalten zu einer Zielspalte zusammenführen, eine einzige Quellspalte auf mehrere Zielspalten aufteilen, Werte nachschlagen und ersetzen oder Geschäftsregeln bei der Migration anwenden, all das im selben visuellen Mapping.

Datenbankschlüssel-Einstellungen

Mit Hilfe der Datenbankschlüssel-Einstellungen von MapForce können Sie festlegen, wie bei einer Datenmigration Primär- und Sekundärschlüsselwerte zur Zieldatenbank hinzugefügt werden. Sie können innerhalb von MapForce Schlüsselwerte bereitstellen und dabei die Identifier aus dem Quellsystem beibehalten oder die Werte von der Zieldatenbank automatisch generieren lassen.

Definition von Datenbankaktionen

Im Dialogfeld "Datenbankaktionen" können Sie festlegen, wie Daten in die einzelnen Zieltabellen geschrieben werden. Wählen Sie aus, welche Aktion (INSERT, UPDATE, DELETE) ausgeführt werden soll, und definieren Sie die Spalten, anhand derer MapForce Entsprechungen für die Zieldatensätze finden soll. Das Dialogfeld unterstützt den Vergleich von NULL-Werten, sodass eine Migration so konfiguriert werden kann, dass Daten auf NULL-konforme Art gemäß den Regeln der jeweiligen Datenbank verglichen werden.

Unterstützung für gespeicherte SQL-Prozeduren

MapForce bietet Unterstützung für gespeicherte Prozeduren - sowohl als Input- als auch als Output-Komponenten oder als funktionsähnliche Aufrufe und stellt dabei Input-Daten bereit, führt die Prozedur aus und mappt die Ausgabedaten auf andere Komponenten. Gespeicherte Prozeduren können auch verwendet werden, um bei einer Migration Schlüsselwerte zu generieren.

Protokollierung der Datenbankausgabe/ Ablaufverfolgung

Bei der Datenbankablaufverfolgung werden alle während einer Migration erfolgten Änderungen protokolliert. Wenn die Ablaufverfolgung aktiviert wurde, werden Ereignisse wie Datenbankeinfüge- oder -aktualisierungsaktionen oder Fehler in einer XML-Datei aufgezeichnet, die später analysiert oder weiterverarbeitet werden kann. Dieses Protokoll ist nützlich, um aufzuzeichnen, welche Daten migriert wurden.

Fehlerbehandlung bei Datenbanktransaktionen

MapForce ermöglicht die Behandlung von Datenbanktransaktionen, um den betroffenen Teil einer Datenbankkonvertierung bei Auftreten eines Fehlers rückgängig zu machen und das restliche Mapping optional weiter auszuführen. Dadurch verhindern Sie, dass die Zieldatenbank durch einen Fehler an einem Teil der Konvertierung in einen inkonsistenten Zustand versetzt wird.

Direkte Abfrage von Datenbanken

Über das Register "Datenbankabfrage" können Sie eine SQL-Anweisung direkt innerhalb von MapForce, das über einen vollständigen SQL Editor verfügt, an der Quell- oder Zieldatenbank ausführen. Dies ist nützlich, um Quelldaten zu analysieren, bevor Sie ein Mapping erstellen, und um die Ergebnisse nach Durchführung der Migration in der Zieldatenbank zu überprüfen.

Sortieren von Datenbank-Input-Komponenten

Bei Migrationen, bei denen die Input-Daten in einer bestimmten Reihenfolge vorkommen müssen, bietet die SQL-WHERE/ORDER-Komponente zusätzliche Sortierungs- und Filteroptionen für Datenbank-Input-Komponenten.

Automatisierung und Skalierung von Migrationen mit MapForce Server

Sobald ein Migrations-Mapping in MapForce erstellt und getestet wurde, kann es mit dem Hochleistungstool Altova MapForce Server automatisiert und über die Befehlszeile, über eine API oder in Form eines von FlowForce Server auf Basis von Triggern und Zeitplänen verwalteten Auftragsschritts automatisiert werden.

MapForce Server bietet parallele Verarbeitung und Multi-Threading, SQL Bulk-Einfügungen sowie plattformübergreifende Unterstützung, wodurch umfangreiche Migrationen und wiederholte Ladevorgänge schneller ausgeführt werden können, als im interaktiven Modus. Bei einer stufenweisen Migration, bei der dieselben Tabellen bis zur Umstellung wiederholt übertragen werden, wird dadurch ein einmaliges Mapping zu einem wiederholbaren, planmäßigen Vorgang.