Was ist eigentlich Replikation?

Der Begriff „Replikation“ bezeichnet laut Wikipedia „die mehrfache Speicherung derselben Daten an meist mehreren, verschiedenen Standorten und die Synchronisation dieser Datenquellen“. Eine reine Kopie von Daten einer Quelle und die anschließende Verfügbarmachung auf dem Ziel ist die simpelste Variante und nennt sich „unidirektionale Replikation“.

Komplexer ist es, diesen Vorgang zeitgleich in der Gegenrichtung zu betreiben „“ oder sogar zwischen mehr als zwei Instanzen, z.B. im Ring oder einer sogenannten Nabe/Speiche- oder Hub/Spoke-Technologie.

In allen Varianten vergeht zwischen der Erstellung des Datums auf der Quelle und dessen Erscheinen auf dem Ziel eine gewisse Zeitspanne (Latenz), deren Größe insbesondere bei der bi-direktionalen Replikation eine Rolle spielt. Dadurch könnten zum Beispiel auf der Zielseite Datensätze neu erstellt werden, die den gleichen Schlüssel haben, wie noch nicht eingetroffene Datensätze der Quelle. Die Möglichkeit einer Konfliktauflösung ist dabei essenziell, z.B. eine Vereinbarung wie: „Der neueste Datensatz gewinnt.“ oder „Eine der beteiligten Seiten hat Vorrang.“

Wann macht Replikation Sinn?

Themen, die für die Wahl einer Replikation eine Rolle spielen können, sind unter anderem:

  • Downtime- und Risiko-Minimierung: kein oder nur geringer Einfluss auf Produktion!
  • Implementierungsaufwand: nötiges Know-how und zeitlicher Aufwand
  • Betriebsstabilität: Transaktionelle Sicherheit, Monitoring, Fehlerbehandlung
  • Fallbackstrategien bei Fehlern der Replikation, z.B. durch unaufgelöste Konflikte

Doch warum möchte man überhaupt eine Replikationssoftware einsetzen, wo doch die Datenbank interne Mechanismen (Materialized Views, CDC, Streams, Logical DataGuard „“ oder binäridentische Kopie mittels Physical DataGuard) zur Verfügung stellt?

Die Notwendigkeit einer logischen Replikation ergibt sich zum Beispiel in diesen Fällen:

  • Ablösung: Seit dem Erscheinen von Oracle Database 12cR1 gelten Oracle Streams und Oracle Advanced Replication als „deprecated“ und werden mit dem eingefrorenen Funktionsumfang von Oracle Database 11gR2 ausgeliefert.
  • Minimal bzw. (near) Zero Downtime Migrationen wegen Hardware-Wechsel oder -Upgrades, Standort- oder OS-Wechsel, Cloud, …
  • Wechsel des Charactersets
  • Konsolidierung
  • Distribution: Data Marts, Query oder Backup Offloading

Vor- und Nachteile der datenbankeigenen Tools für den Transfer von Oracle zu Oracle:

Known_ProsCons

Aus der Tabelle ergibt sich zwar, dass alle innerhalb der Oracle Datenbank bekannten Lösungen für Replikationsszenarien einsetzbar sind, jedoch bieten nur die Lösungen Ex/Import sowie CDC und Materialized Views einen allgemeingültigen Ansatz für die Verwendung unterschiedlicher Datenbankversionen, wobei Materialized Views nicht den vollen Umfang in der Standard Edition besitzen.

Da alle genannten Techniken Nachteile gegenüber Lösungen haben, die auf einer reinen SQL-Anwendung basieren und außerhalb der Datenbank verwaltet werden, kommt der Wunsch nach den im Titel genannten Database Replication Tools auf. Diese minimieren den Einfluss auf die Quelle und garantieren durch ihre Datenbankunabhängigkeit „“ das erfasste SQL wird in einem proprietären Format transferiert und kann für das Zielsystem umgeschrieben werden „“ vielfältigste Anwendbarkeit bis hin zu einem heterogenen Transfer von und zu Non-Oracle Systemen (z.B. auch in der Cloud).

Die Tests

Um die Handhabung und Funktionsweise der drei unterschiedlichen Produkte im administrativen Kontext zu beurteilen, setzten sich acht erfahrene Datenbankadministratoren von OPITZ CONSULTING intensiv mit diesen Replikationslösungen auseinander. Ziel war es, erste Eindrücke zu sammeln, den Leistungsumfang zu bewerten und abschließend eine Einschätzung dazu vorzunehmen, wie sich die Produkte im Praxiseinsatz bewähren und welche Vorteile das einzelne Produkt gegenüber den anderen aufweist.

Die Tests wurden in drei Kategorien durchgeführt, so dass ein Vergleich der Installation, Konfiguration sowie im Bereich des Betriebs und der Fehlerbehandlung stattfinden konnte.

1. Installation

Erste Unterschiede zeigten sich bereits bei der Installation. Hier hat Oracle bei GoldenGate den Schritt zu einem graphischen Installer gemacht, der jedoch leider nichts weiter ist, als ein „geführtes Entpacken“ der Dateien in ein Hauptverzeichnis. Das Verzeichnis sollte unter Linux/UNIX tatsächlich ein Unterverzeichnis sein und kein Mountpoint „“ ansonsten führt die Existenz des Ordners lost+found zu der Fehlermeldung „Zielverzeichnis nicht leer“.

Im Übrigen bleibt es alles wie gehabt: Die Installation endet erst einmal in einem „Wust“ von Dateien, deren Funktion nur dem erfahrenen GoldenGate-Anwender klar ist.
Ab hier muss die Konfiguration manuell vorgenommen werden. Diese besteht aus der Erstellung und Parametrisierung einer Datei für den Managementprozess und bis zu drei Dateien für die Extract-, Pump– (Übertragung) und Replicat-Prozesse. Abschließend werden die jeweiligen Prozesse noch über das Client-Interface (ggsci) gestartet.

Die beiden anderen Kandidaten setzen hier auf einen Kommandozeilen-Wizard, der mehr oder weniger detailliert durch das Setup des Replikationsprozesses leitet:

SharePlex verwendet einen allgemeinen Ansatz, bei dem die grundsätzliche Einrichtung vorgenommen wird, Details allerdings im Konfigurationsfile vorzunehmen sind.

Dbvisit Replicate fragt dagegen schon während des Setups Details wie Schema und Tabellen zur gewünschten Replikation ab.

2. Konfiguration

Ergänzend zum vorigen Kapitel kann angefügt werden, dass einzig SharePlex die gesamte Replikationkonfiguration mit nur einem einzigen File auf der Quellseite beschreibt.

Dbvisit Replicate ist hier ein wenig unübersichtlicher, da je Replikationssetup 2-3 Files angepasst werden müssten, wenn man dies nicht über den Wizard machen würde.

GoldenGate ist dem ähnlich, es sei jedoch darauf hingewiesen, dass es sich hier nicht nur um eine optionale Anpassung handelt, da kein Wizard vorhanden ist.

3. Betrieb und Fehlerbehandlung

Deutlich besser als GoldenGate wurde der Betrieb von SharePlex und Dbvisit Replicate bewertet, da hier eine sehr übersichtliche Darstellung auf Kommandozeile geliefert wird.

GoldenGate ist ähnlich gut zu betreiben, Solange keine Fehler auftreten. Schwierig wird es hier einem Fehler auf den Grund zu gehen. Durch die Aufteilung in drei separate Prozesse existieren auch drei separate Logfiles: zwei auf Quell- und eins auf Zielseite.

4. Funktionsvielfalt

Bei der Funktionsvielfalt spielt GoldenGate seine gesamte Macht aus. Lediglich SharePlex ist fast auf Augenhöhe, was die Datentypunterstützung angeht. Dbvisit macht zwar auch einen sehr guten Job, aber letztendlich bekommen beide Mitbewerber den Nachteil zu spüren, nicht an der Quelle der Datenbank-Features von Oracle zu sitzen.

Ganz eklatant unterscheiden sich die Lösungen in ihrer Heterogenität. Keines der Konkurrenzprodukte ist derart heterogen und kann (bidirektional) eine derart große Vielfalt von Systemen unterstützen wie GoldenGate:

SharePlex

Quelle: Oracle
Ziel: Oracle + Files und via ODBC bzw. JMS: Sybase Adaptive Server Enterprise, Hadoop

Dbvisit Replicate

Quelle: Oracle
Ziel: Oracle + MySQL, Microsoft SQL Server, Amazon Web Service RDS, Hadoop, CSV Files

GoldenGate

Quelle: Oracle + HP NonStop, IBM DB2, Informix, Microsoft SQL Server, MySQL, Sybase
Ziel: Oracle + HP NonStop, IBM DB2, Informix, Microsoft SQL Server, MySQL, Sybase + Teradata und diverse weitere via ODBC/JDBC/JMS, z.B. Netezza, Greenplum, Hadoop

Übersicht: Bewertung nach Kriterien

rating

Zusammenfassung

Zusammenfassend lässt sich feststellen, dass alle drei Produkte durchaus produktiv einsetzbar sind. Welches Produkt dabei den Vorrang erhält, liegt an den jeweiligen Präferenzen.

Spielt die Funktionsvielfalt und Heterogenität keine Rolle und kann man sich im schlimmsten Fall bei möglicherweise auftretenden Problemen die (sehr schnelle) Reaktionszeit des Herstellers leisten, ist das recht junge Produkt Dbvisit Replicate gerade aufgrund seines deutlichen Preisvorteils einen näheren Blick wert.

Steht jedoch die Verlässlichkeit im Mittelpunkt und dominiert diese gegenüber neuesten Oracle-Features bei einer reinen Oracle-Replikation oder z.B. unidirektional heterogen (Oracle zu beliebigem Ziel mittels JMS), dann ist aufgrund der Reife des Produkts und den ausnehmend positiven Erfahrungen in der Vergangenheit SharePlex vielleicht die bessere Wahl. Der Preis liegt immer noch unter dem von GoldenGate „“ allerdings doch merklich über dem Dbvisit Produkt.

GoldenGate ist der absolute Gewinner, was Features und Heterogenität angeht, benötigt aber den höchsten Einarbeitungs- und Betreuungsaufwand. Diese Kosten müssen als Betriebskosten neben den hohen Anschaffungskosten für das Produkt berücksichtigt werden. Dafür wird man allerdings auch mit dem vollen Herstellersupport aus einer Hand belohnt!

Anhand der oben zusammengefassten Argumente haben unsere Experten diese Platzierung vorgenommen, wobei die Bewertungen zu Reife, Komplexität und Preis dem Konsens entspricht:
ranking
*Termlicense möglich

Alle Beiträge von Christian Ballweg

Schreibe einen Kommentar