MySQL / PostgreSQL-Migrationstool

Konvertierung von MySQL- und PostgreSQL-Datenbanken

  • Unterstützung für MySQL, PostgreSQL, & alle wichtigen SQL-Datenbanken
  • Konvertierung von SQL- in NoSQL-Datenbanken
  • Grafisches No-Code-Datenmapping
  • Mappen von Datenbankdaten von oder auf andere Datenformate
  • Definition von Datenbankschlüssel-Einstellungen
  • Sofortige Konvertierung & kostengünstige Automatisierungsoptionen
  • Ausgabeprotokollierung & Fehlerbehandlung
  • Definition von Datenbankaktionen
  • Direkte Abfrage von Datenbanken
  • Sortierung von Datenbank-Input-Komponenten

Konvertierung von MySQL in PostgreSQL

MapForce wird häufig für die Migration von Daten zwischen MySQL- und PostgreSQL-Datenbanken verwendet. MapForce erleichtert diese Aufgabe dank seiner grafischen Drag-and-Drop-Datenmappingtools mit einer umfangreichen Bibliothek von Filtern und Datenverarbeitungsfunktionen zur Transformationen von Quelldaten.

Mit dem Datenbankverbindungsassistenten von MapForce lässt sich die Verbindung im Nu herstellen. SQLite-Verbindung werden als native, direkte Verbindungen zur SQLite-Datenbankdatei unterstützt. Separate Treiber werden dafür nicht benötigt. PostgreSQL-Verbindungen werden sowohl als native Verbindungen als auch als treiberbasierte Verbindungen über Schnittstellen (Treiber) wie ODBC oder JDBC unterstützt. Für native Verbindungen werden keine Treiber benötigt.

Beim Laden der MySQL- und PostgreSQL-Datenbankstruktur im Mapping-Fenster interpretiert MapForce automatisch die Datenbankschemas, stellt Ihnen die verfügbaren Datenbanktabellen und -ansichten zur Auswahl und erkennt die Tabellenbeziehungen.

Konvertierung von MySQL in PostgreSQL in MapForce

Nach dem Laden aller Inhaltsmodelle ziehen Sie nur mehr Verbindungslinien zwischen der Quell- und der Zielstruktur, um das Mapping fertigzustellen.

Mit der No-Code-MapForce-Methode lassen sich häufige Datentransformationsaufgaben wie die folgenden einfach durchführen:

  • Konvertierung von PostgreSQL in MySQL
  • Migration von PostgreSQL in MySQL
  • Export von PostgreSQL in MySQL
  • Konvertierung von MySQL in PostgreSQL

Filtern und Verarbeiten von Daten

Oft müssen Daten bei Datenbank-Mappings zwischen Quell- und Zielkomponente auf Basis von Booleschen Bedingungen oder SQL- und SQL/XML-Anweisungen transformiert werden. Es können logische Vergleiche, mathematische Berechnungen, String-Operationen oder andere Datenmodifikationsprozesse durchgeführt werden. In der Abbildung oben werden in den Kästchen zwischen den Linien, die das Quell- und das Zieldatenmodell verbinden, Datenverarbeitungsfunktionen angezeigt.

Mit Hilfe von Datenverarbeitungsfunktionen können Sie on-the-fly komplexe Datenbank-Mappings für die verschiedensten Transformationsanforderungen durchführen.

Sofortige Datenbankkonvertierung

Nachdem Sie Ihr Mapping definiert haben, können Sie die Ergebnisse mit Hilfe des integrierten MapForce-Prozessors mit einem Klick anzeigen und speichern.

Bei einem MySQL-auf-PostgreSQL-Mapping wird ein Resultat in Form von SQL-Skripts erzeugt (z.B. SELECT, INSERT, UPDATE und DELETE-Anweisungen), die direkt von MapForce aus an der Zieldatenbank ausgeführt werden können.

Nachdem Sie eine Vorschau auf das Mapping angezeigt haben, haben Sie die Option, die Datentransformation mittels MapForce Server zu automatisieren.

Protokollierung der Datenbankausgabe (Ablaufverfolgung)

Dank der Ablaufverfolgung der Datenbankausgabe können alle während der Mapping-Ausführung an der PostgreSQL- oder MySQL-Datenbank vorgenommenen Änderungen protokolliert werden.

Wenn die Ablaufverfolgung aktiviert wurde, werden Ereignisse wie Datenbankeinfüge- oder -aktualisierungsaktionen oder Fehler in einer XML-Datei aufgezeichnet, die später auf automatisierte Art analysiert oder weiterverarbeitet werden kann.

Die Datenbankablaufverfolgung kann auf Ebene der Datenbankkomponente, auf Ebene von Tabellen, gespeicherten Prozeduren oder Datenbankfeldern aktiviert werden. Wahlweise können alle Meldungen oder nur Fehlermeldungen protokolliert werden oder die Ablaufverfolgung kann komplett deaktiviert werden.

Nach Auswahl der gewünschten Ebene wird die jeweilige Datenbankkomponente im Mapping-Projekt durch eine XML-Struktur mit der Log-Struktur erweitert. Um die Log-Datei in einem anderen Format als XML zu erhalten, können Sie Daten daraus auf ein anderes von MapForce unterstütztes Datenformat (z.B. eine Textdatei oder sogar eine andere Datenbank) mappen.

Wenn Sie auf die Schaltfläche "Ausgabe" klicken, um eine Vorschau auf das Mapping-Ergebnis zu sehen, sehen Sie ein Beispiel dafür, wie die Ablaufverfolgungsdatei aussieht, wenn das Mapping ausgeführt wird.

Datenbankablaufverfolgung zur Protokollierung der Ausgabe von Datenbankkonvertierungen

Fehlerbehandlung bei Datenbanktransaktionen

Außerdem ermöglicht MapForce die Behandlung von Datenbanktransaktionen, um die Änderungen bei Auftreten eines Fehlers am betroffenen Teil der Datenbank rückgängig zu machen und das restliche Mapping optional weiter auszuführen.

Manchmal treten Fehler auf, die sich nicht auf die Ausführung des restlichen Datenbank-Mappings auswirken, z.B. wenn ungültige Daten aufgrund bestimmter Constraints nicht eingefügt oder aktualisiert werden können.

Durch Aktivierung der Datenbanktransaktionsbehandlung werden alle durch die Datenbankkomponente vorgenommenen Änderungen in eine Transaktion eingeschlossen, die im Fall eines Fehlers mit Rollback rückgängig gemacht wird. Sie haben die Möglichkeit auszuwählen, ob das restliche Mapping danach fortgesetzt oder die Mapping-Ausführung beendet werden soll. Die Transaktionsbehandlung kann auf Ebene der Datenbankkomponente und auf Ebene von Tabellenaktionen aktiviert werden.

Aktivierung von Datenbanktransaktionen zur Behandlung von Fehlern

Diese Funktionalität ist sehr nützlich, um gültige eingehende Daten zu berücksichtigen und ungültige Daten einfach zu ignorieren.

Komplexe Datenbank-Mappings

Als Ergänzung zu den Datenbank-Mapping- und Integrationsfunktionen bietet MapForce ein Datenbankabfrageregister zur Durchführung direkter Datenbankabfragen. Wenn Sie über das Datenbankabfrageregister eine Verbindung zu einer Datenbank herstellen, werden ihre Tabellen im Browser-Fenster von MapForce in einer hierarchischen Struktur angezeigt. MapForce kann nicht nur MySQL- und PostgreSQL-Daten migrieren. Es unterstützt auch die folgenden 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®
  • Teradata
  • MongoDB
  • CouchDB
Abfrage der Datenbank während ein Datenbankkonvertierungsmapping definiert wird

Anschließend können Sie über das SQL Editor-Register SQL-Anweisungen anzeigen, bearbeiten und ausführen - entweder durch Öffnen bestehender SQL-Dateien oder durch Neuerstellung von SQL-Anweisungen mittels der Drag-and-Drop und Autokomplettierungsfunktionen.

Sie können Ihr SQL-Skript ausführen, die Ergebnisse in tabellarischern Form anzeigen und die abgerufenen Daten und das SQL-Skript in separaten Dateien speichern.

Datenbankschlüssel-Einstellungen

Mit Hilfe der Datenbankschlüssel-Einstellungen können Sie in MapForce einstellen, wie Primär- und Sekundärschlüsselwerte zu einer als Zielkomponente für ein Datenmapping verwendeten Datenbank hinzugefügt werden sollen. Dabei haben Sie die Möglichkeit, entweder in MapForce Werte für Schlüssel zu definieren oder die Werte automatisch vom Datenbanksystem generieren zu lassen.

In Situationen, in denen Primär- und/oder Sekundärschlüsselbeziehungen in Ihren Datenbanktabellen nicht explizit definiert sind, können Sie mit MapForce diese Beziehungen inline ohne Auswirkung auf die Quelldaten definieren.

Definition von Datenbankaktionen

Beim Mappen auf eine Datenbank können Sie in MapForce Datenbankaktionen auswählen, mit denen Sie steuern können, wie Daten in die MySQL- oder PostgreSQL-Datenbank geschrieben werden. Damit haben Sie volle Flexibilität, um die komplexesten Datenverwaltungsaufgaben zu automatisieren.

Über das einfach zu verwendende Dialogfeld "Datenbankaktionen" können Sie die Spalten in der ausgewählten Tabelle definieren, anhand derer Sie festlegen, welche Aktion (INSERT, UPDATE, DELETE) an der Datenbank ausgeführt werden soll.

Dank dieser Funktion stehen Ihnen in MapForce noch nie dagewesene Möglichkeiten zur Bearbeitung von Datenbankzeilen bei der Integration von XML-, Datenbank-, EDI-, XBRL-, Flat File-, Excel-, JSON-, JSON5-, Webservice- oder anderen Datenbankdaten zur Verfügung.

Lernen Sie, wie Sie Datenbanktabellenaktionen in MapForce konfigurieren

Gespeicherte SQL-Prozeduren

MapForce bietet solide Unterstützung für gespeicherte Prozeduren als Input-Komponenten (Prozeduren, die Ergebnisse liefern) oder Output-Komponenten (Prozeduren, die Daten einfügen oder aktualisieren). Gespeicherte Prozeduren können auch als funktionsähnlicher Aufruf eingefügt werden, wodurch Input-Daten definiert, die gespeicherte Prozedur ausgeführt und die Output-Daten gelesen und auf andere Komponente gemappt werden können.

In dieser Abbildung sehen Sie das Mapping einer gespeicherten Prozedur in SQL Server, um eine XML-Datei zu erstellen. Die Prozedur gibt eine Datentabelle zurück, in der alle Manager in der Weisungskette oberhalb der als Input-Parameter angegebenen Mitarbeiter-ID angezeigt werden - in diesem Beispiel die Konstante 67.

Der Parameter könnte anders, z.B. als berechneter Wert oder als von anderswo in der Datenbank abgerufenes Datenelement geliefert werden.

MapForce verfügt über ein Kontextmenü, über das die gespeicherte Prozedur ausgeführt werden kann, damit die für das Mapping verwendete Datenstruktur sichtbar wird: Das gezeigte Mapping generiert die XML-Ausgabe.

Komplexe Datenmapping-Tools bieten Unterstützung für gespeicherte Prozeduren

Sortieren von Datenbank-Input-Komponenten

Nicht immer jedoch genügt bei komplexen Datenmapping-Aufgaben eine einfache SQL-Abfrage innerhalb einer Datenbank. Für solche Zwecke oder wenn sich andere Daten oder Bedingungen im Mapping auf die Sortierreihenfolge auswirken, bietet MapForce mit der SQL-WHERE/ORDER-Komponente für Datenbank-Input zusätzliche Datenbanksortierfunktionen.

Unterstützung für NULL-Werte in Datenbankaktionen

Das Dialogfeld "Datenbankaktionen" unterstützt den Vergleich von NULL-Werten. Dies erleichtert die Arbeit mit Datenbanken, die Nullwerte enthalten. In MapForce können Datenbankmappings so konfiguriert werden, dass Datenvergleiche gemäß den Regeln für die im Mapping verwendeten Datenbanken NULL-fähig durchgeführt werden.

Mit dem Datenmapping rechts soll die Zieltabelle aktualisiert werden, ohne dass doppelte Einträge eingefügt werden. Beide Tabellen erlauben laut Definition NULL im Feld "email", daher könnten in jeder Tabelle übereinstimmende Datensätze mit NULL-Email-Feldern vorhanden sein.

Durch Klick auf das Aktionssymbol neben der Datenbank "TARGET" rufen Sie das Dialogfeld "Datenbankaktionen" auf. Wenn das Kontrollkästchen "NULL equal" neben dem Feld "email" aktiviert wird, werden NULL-Werte in der Quell- und Zielkomponente im Datenmapping als gleich behandelt, auch wenn sie laut Datenbankregeln nicht identisch sind.

Null-fähiges Datenbank-Mapping in MapForce

Automatisieren der Datenbank-Mapping-Ausführung mit MapForce Server

Altova MapForce Server enthält den für MapForce entwickelten Datentransformationsprozessor und wurde für den Betrieb in Serverumgebungen optimiert. MapForce Server führt anhand von in MapForce erstellten und optimierten Datenmappings, die in Ausführungsdateien gespeichert wurden, Datentransformationen für PostgreSQL in MySQL oder jede beliebige Kombination von XML-, Datenbank-, EDI-, XBRL-, Flat File-, Excel-, JSON-, und/oder Webservice-Daten durch. Mit seinen Server-Funktionalitäten wie Parallelverarbeitung und Multi-Threading, Bulk SQL Insert, plattformübergreifender Unterstützung und mehr, eröffnet MapForce Server ganz neue Möglichkeiten für Datentransformationen.

Dank Vorverarbeitung lassen sich die meisten Datenmappings schneller und mit weniger Arbeitsspeicherbedarf durchführen. MapForce Server wird über FlowForce Server, in einer Standalone-Konfiguration über die Befehlszeile oder programmatisch über eine API ausgeführt.

Nachdem ein MapForce Mapping erstellt und getestet wurde, kann es von MapForce Server ausgeführt werden, um Geschäftsprozesse, für die wiederholte Datentransformationen erforderlich sind, zu automatisieren.

Automatisierung von Datenbank-Mapping-Aufgaben mit MapForce

Mit Altova MapForce werden Datenmappings erstellt, diese für die Befehlszeilenausführung durch MapForce Server in MapForce Server-Ausführungsdateien gespeichert und zur Verwendung in FlowForce Server Aufträge geladen.

Wenn MapForce Server unter der Verwaltung von FlowForce Server ausgeführt wird, werden Datenmappings als FlowForce Server-Auftragsschritte, die auf Basis von Triggern ausgelöst werden, ausgeführt. Ein Beispiel wäre ein neues XBRL-Instanzdokument in einem Verzeichnis, wodurch ein aus mehreren Schritten bestehender FlowForce Server-Auftrag ausgelöst wird, bei dem die Datei zuerst mit RaptorXML+XBRL Server validiert wird. Anschließend werden bestimmte Daten mit Hilfe von MapForce Server aus der XBRL-Datei extrahiert und in eine Datenbank eingefügt.