Replikation -> Replikation zwischen verschiedenen DBMS

29.01.2018

Setzt ein Unternehmen nur DBMS eines bestimmten Herstellers ein, so gibt es üblicherweise keine Probleme mit der Replikation von Daten zwischen den Datenbanken. Nahezu jeder Hersteller bietet hier - meist sogar kostenlos - Lösungen an, die diesen Zweck erfüllen.

Aber: Sie können nur mit den eigenen Produkten arbeiten. Datenbanksysteme anderer Hersteller werden i. A. nicht unterstützt!

Was tun, fragt sich hier der systemverantwortliche Mitarbeiter eines Unternehmens, der Daten zu einem anderen DBMS, und vielleicht gar noch zurück, replizieren will?

Image Datenreplikation

Hier sind andere Lösungen gefragt. Die Fähigkeit, mit verschiedenen Datenbanksystmen zu operieren, basiert auf den Connectivity-Fähigkeiten und -möglichkeiten einer solchen Lösung.

Am Markt haben sich Technologien etabliert, die prinzipiell eine Verbindung mit jeder SQL-Datenbank herstellen können:

  • ODBC
  • JDBC
  • .NET-Provider

Native Treiber dagegen werden üblicherweise von den hauseigenen Tools der jeweiligen Hersteller verwendet. Sie sind meisten hochoptimiert auf das eigene Produkt, schnell und die beste Wahl, wenn es um Replikationen zwischen Datenbanken dieses Herstellers geht, sofern die Funktionalität des Tools die Anforderungen der gewünschten Replikation abdeckt.

Sind aber unterschiedliche DBMS im Spiel, stellt sich schnell die Frage:
Wie ist die Struktur der beteiligten Datenbanken? Sind sie gleich aufgebaut (gleiche Tabellen- und Feldnamen sowie gleiche Datentypen) oder gibt es Abweichungen?
Bessere Replikationstools lassen natürlich Abweichungen in den Bezeichnungen zu, wobei bei den Feld-Datentypen natürlich Gleichheit bzw. Kompatibilität vorliegen sollte, da sonst kaum lösbare Detailprobleme auftreten werden.

Moderne Replikationslösungen unterstützen den Benutzer weitgehend bereits bei der Vorbereitung. Sie sind in der Lage, die vorgesehenen Datenbanken selbsttätig zu scannen und dem Benutzer eine Vorauswahl der zu verwendenden Tabellen zu präsentieren. Dies funktioniert natürlich umso einfacher, je weniger strukturelle Abweichungen für Datenbank-Tabellen und -Spalten auftreten.

Image Replikation

State-of-the-Art-Systeme gehen hier sogar noch einen Schritt weiter und scannen nicht nur die Bezeichnungen und Datentypen der Datenbanktabellen und -felder, sondern auch deren Abhängigkeiten untereinander. Sie sortieren die Tabellen schon in der korrekten Reihenfolge, die aufgrund der referentiellen Integrität zwischen ihnen bei der Ausführung der Replikation erforderlich ist.

Sind diese qualitativen Aspekte gelöst, stellt sich die Frage nach den Quantitäten: Repliziere ich alle Inhalte einer Datenbank, wie z. B. bei einer vollständigen Online-Sicherung, oder benötige ich Filter bei der Auswahl der Quellendaten?

Hier sollten Replikationslösungen in der Lage sein, eine flexible, auf Tabellen- und Feldebene beziehbare, Filtermöglichkeit anzubieten.

Da es bei manchen DBMS u. U. bestimmte Eigenheiten zu berücksichtigen gilt, ist die Möglichkeit, vor, während und nach einer Replikation frei definierbare SQL-Anweisungen (Skripte) ausführen zu können, sicherlich von Vorteil und von Interesse.

Viele Replikationen finden ja zur jeweiligen Nachtzeit statt, da dann der Traffic auf den Datenbanken meistens am geringsten ist.
Die meisten Betriebssysteme bieten an, Programme zu einem bestimmten Zeitpunkt selbsttätig starten zu können (Scheduler). Diese Eigenschaft sollte aber mit Bedacht eingesetzt werden, da ein einmal eingerichteter Zeitplan so lange arbeitet, bis er wieder deaktiviert wird.
Das kann zu Problemen führen, wenn eine Replikation eben nicht zyklisch ausgeführt werden soll. Manche Replikationslösungen bieten hier zusätzliche Sicherheitsmechanismen, wie z. B. die explizite Freigabe einer einzelnen Replikation, wie auch die Freigabe der Replikationslösung selbst zur unbeaufsichtigten Ausführung an. Auf diese Weise kann das Sicherheitslevel zur Vermeidung unbeabsichtigter Replikationen erhöht werden.

Zusammenfassend haben sich die Funktionalitäten und die Usability moderner Replikationslösungen eindeutig zum Nutzen des Anwenders weiterentwickelt, wobei auch preislich moderne Systeme durchaus erschwinglich sind und kein tiefes Loch mehr in die Abteilungskasse reißen.
Auch die eingesparte Zeit durch die zunehmende Realisierung von Automatismen in modernen Replikationslösungen verbessert die Rentabilität solcher Programme durch kürzere Amortisationszeiten.
Die Verwendung grafischer Benutzeroberflächen auch bei der Einrichtung einer Replikation tut ein Übriges im Sinne der Benutzerfreundlichkeit.