Home ORDIX AG             Dienstleistung             Trainingsshop    Kunden / Referenzen Aktuelles    Kontakt
Home  Pfeil  ORDIX News  Pfeil  2/2008  Pfeil  Datenbanken
suche: 
Dieser Artikel richtet sich an technisch orientierte Entscheider, die sich für Hochverfügbarkeits- lösungen für Datenbanksysteme interessieren.

Glossar

HDR
High Availability Data Replication. Replikationsart unter Informix. Eine Kopie des primären Datenbankservers wird auf einen sogenannten Standby DB-Server erstellt. Auf den Standby DB-Server kann nur lesend zugegriffen werden.
ER
Enterprise Replication. Spezielle Informix Technologie, die der Datenreplikation dient. Beliebig viele Datenbank-Server können als Replikat eingebunden werden. Im Update-Anywhere-Verfahren kann auf alle teilnehmenden Datenbank-Server lesend und schreibend zugegriffen werden.
RSS
Remote Standalone Secondary. Ist eine Erweiterung des HDR-Verfahrens auf mehrere Standby Datenbank-Server, auf die lesend zugegriffen werden kann.
SDS
Shared Disc Secondary. Mit dieser Methode haben alle teilnehmenden Datenbank-Server Zugriff auf einen gemeinsamen Plattenbereich.
MACH 11
Multinode Active Cluster for High Availability. MACH 11 ist eine äußerst flexible Informix Hochverfügbarkeits-Technologie, die eine beliebige Kombination der Funktionalitäten HDR, RSS und SDS ermöglicht.


IBM Informix Dynamic Server Version 11 (Teil III):

IDS 11 Hochverfügbarkeitslösungen


In diesem Artikel behandeln wir Hochverfügbarkeitslösungen, die mit der aktuellen Version des Informix Dynamic Server 11.10 realisierbar sind.
Der Ausfall eines Rechners oder einer Applikation kann hohe Kosten verursachen. Mit dem IBM Informix Dynamic Server gibt es seit langem mehrere Möglichkeiten, Ausfällen vorzubeugen und dabei die Datenbanken wirtschaftlich und zugleich hochverfügbar auszulegen.

Was bedeutet Datenreplikation?

Mit dem Replizieren der Daten kann man konsistente Kopien eines Datenbestandes an verschiedenen Orten erstellen. Dabei ist es möglich, einen kompletten Datenbank-Server oder nur einzelne Tabellen, Sätze oder Spalten zu vervielfältigen.

Die Daten können an einen oder an mehrere Server verteilt werden. Der Datenbank-Server, der als Ziel dienen soll, kann auf dem gleichen oder einem entfernten Rechner liegen. Bei entfernten Rechnern müssen diese über ein Netzwerk miteinander verbunden sein.

Die an der Replikation beteiligten Server lassen sich mit Lese-/Schreib-Rechten oder nur mit Lese-Rechten versehen.

Es gibt verschiedene Ziele, die man mit dem Einsatz von Replikation verfolgen kann.

Datenverteilung:

Durch den Einsatz von Datenreplikation kann man Daten, die an einer zentralen Stelle gepflegt werden, auf mehrere Datenbank-Server übertragen. Auf dem zentralen Server kann auf den Datenbestand lesend und schreibend zugegriffen werden. Auf den anderen (lokalen) Servern ist nur ein lesender Zugriff auf die Daten möglich.

Die Datenverteilung hat mehrere Vorteile. Auf dem zentralen Server wird die Prozessorlast vermindert, da Abfragen auf die Daten der lokalen Servern durchgeführt werden. Die Antwortzeiten auf den lokalen Servern sind geringer, da auf den einzelnen Servern weniger Abfrageprozesse laufen und die Kommunikation über ein schnelles, lokales Netz erfolgen kann. Auch wenn die Netzverbindung zum zentralen Server ausfällt, kann über die lokalen Server weiter auf die Daten zugegriffen werden.

Datenkonsolidierung:

Die Datenkonsolidierung stellt im Prinzip den umgekehrten Fall zur Datenverteilung dar. Es gibt mehrere Datenbank-Server, auf die lesend und schreibend zugegriffen werden kann, und einen zentralen Server, auf den nur lesender Zugriff möglich ist. Die Änderungen am Datenbestand der lokalen Server werden auf den zentralen Server repliziert. Bei der Datenkonsolidierung werden die Daten somit an einer zentralen Stelle gesammelt.

Hochverfügbarkeit:

Datenreplikation kann dazu eingesetzt werden, das Risiko von Hardware- und Netzwerkfehlern zu minimieren. Der aktuelle Datenbestand wird dann auf einen oder mehrere Datenbank-Server repliziert. Fällt ein Server oder die Netzwerkverbindung zu einem dieser Server aus, kann auf einem anderen Server weiter gearbeitet werden.

Erweiterung der Kapazität:

Durch den Einsatz einer Replikation kann die Kapazität eines Rechnersystems erweitert werden. Eine oft eingesetzte Lösung ist die Trennung zwischen dem Online Transaction Processing (OLTP) System und dem Abfragesystem. Alle lesenden Zugriffe und größere Abfragen (Reports) werden auf dem Replikat-Server ausgeführt.

Hochverfügbarkeitslösungen mit Informix Version 11

Herausragende Neuheiten in Informix 11 sind sicherlich die integrierten Hochverfügbarkeitstechnologien unter dem Codenamen MACH 11 (Multinode Active Cluster for High Availability).

Die direkt im Informix Kernel integrierten Hochverfügbarkeitslösungen umfassen eine ganze Reihe an Optionen zur Erhöhung der Verfügbarkeit.

Folgende Funktionalitäten sind in beliebiger Kombination einsetzbar:

  • HDR (High Availability Data Replication):
    1:1 Primary-/Secondary-Replikation mit automatisiertem Failover und Lese-Zugriff auf den Secondary Server.
  • RSS (Remote Standalone Secondary):
    1:n Primary-/Secondary-Replikation mit Lese-Zugriff auf den Secondary Server.
  • SDS (Shared Disk Secondary):
    Die sekundären SDS-Server laufen auf separaten Rechnern und verfügen über eigene Bufferpools. Sie halten jedoch keine lokale Kopie der Daten vor, sondern greifen lesend bzw. schreibend direkt auf die Plattenbereiche der primären Instanz zu.
  • ER (Enterprise Replikation):
    Mit Enterprise Replikation können alle an der Replikation teilnehmenden Datenbank-Server Änderungen an den Daten vornehmen und diese replizieren.

High Availability Replication (HDR)

Seit 1993 haben Informix-Versionen unter der Bezeichnung HDR (High Availability Data Replication) bereits die Spiegelung einer kompletten Instanz auf einen sekundären Rechner unterstützt. Diese zweite Instanz konnte sowohl für den lesenden Zugriff als auch als Failover-Instanz genutzt werden.

Das HDR-Konzept wird von IDS 11 weiterhin unterstützt und durch MACH 11 so erweitert, dass eine Spiegelung der primären Informix-Instanz auf beliebig viele sekundäre Instanzen, die auch räumlich weltweit verteilt sein können, möglich ist.

HDR bietet die Möglichkeit, eine Kopie eines Datenbank-Servers als Standby aufzusetzen, der im Notfall die Aufgaben des Produktionsrechners übernehmen kann. Auf den Standby- oder Secondary-DB-Server kann lesend zugegriffen werden. Somit ist es möglich, lesende Abfragen auf dem Secondary-DB-Server durchzuführen und damit den Primary-DB-Server von lesenden Zugriffen zu entlasten. Wahlweise sind zwei Möglichkeiten zur Datenübertragung möglich: synchron oder asynchron.

Seit Einführung der Version 11 ist es möglich, auf weitere, verteilte Standby-DB-Server zu replizieren. Diese weiteren Instanzen nennt man RSS-Instanzen (Remote Standalone Secondary). Da ein lesender Zugriff auf diese RSS-Instanzen erfolgen kann, ist eine weitere, optimale Lastverteilung realisierbar (siehe Abbildung 1).

Abb. 1: Beispiel für eine HDR Remote Standby Secondary Konfiguration.
Abb. 1: Beispiel für eine HDR Remote Standby Secondary Konfiguration. vergrößern
Abb. 2: Beispielkonfiguration einer Enterprise Replikation in Update-Anywhere-Verfahren.
Abb. 2: Beispielkonfiguration einer Enterprise Replikation in Update-Anywhere-Verfahren. vergrößern
Abb. 3: Beispielkonfiguration einer Shared Disc Secondary (SDS) Umgebung.
Abb. 3: Beispielkonfiguration einer Shared Disc Secondary (SDS) Umgebung. vergrößern

Die Spiegelinstanzen - auch als RSS (Remote Standalone Secondary) Nodes bezeichnet - halten die Daten lokal vor und erlauben einen lesenden Zugriff auf die Daten, so dass ressourcenintensive Abfragen und Reports von der primären auf die sekundären Instanzen verlagert werden können.

Datenverschlüsselung zwischen einem HDR-Primary-Server und dem HDR-Secondary-Server bzw. über die weiteren RSS-Instanzen ist mit dem Kommunikationsunterstützungsmodul (CSM - Communication Support Module) jederzeit konfigurierbar.

Die Replikation kann zwischen Datenbank-Servern erfolgen, wenn diese mit gleichem Layout der DBSpaces, ähnlicher Konfiguration und gleicher IDS-Version auf gleichem Betriebssystem eingesetzt werden.

Voraussetzung für eine Replikation ist, dass die Datenbanken im Logging-Modus betrieben werden, da alle Informationen, die in das Transaktionsprotokoll einfließen, auf die Replikat-Server verteilt werden.

Die Server-Konfiguration (ONCONFIG-File) muss bis auf die Einstellungen für BUFFER, CPUs und den DBSERVERNAMEN übereinstimmen.

Obwohl ein RSS-Server einem HDR-Sekundär-Server ähnlich ist, verfügt ein HDR-Server über einige Optionen, die von einem RSS-Server nicht unterstützt werden, wie beispielsweise:

  • Ein RSS-Server unterstützt nicht den Modus SYNC.
  • Ein RSS-Server unterstützt nicht den Parameter DRAUTO (automatisches Umschalten im Fehlerfall).
  • Ein RSS-Server besitzt keine synchronisierten Checkpoints.
  • Ein RSS-Server kann nicht direkt in einen primären Server konvertiert werden.

Enterprise Replikation (ER)

Enterprise Replikation wurde ursprünglich Continuous Data Replication (CDR) genannt und ist seit der Informix Version 7.22 ein fester Bestandteil des Informix Dynamic Server.

ER ermöglicht die asynchrone Replikation kompletter Datenbanken bis hin zur einzelnen Tabellenspalte auf beliebig viele Rechner mit der Möglichkeit des lesenden und schreibenden Zugriffs auf die Daten (Update-Anywhere-Methode) (siehe Abbildung 2). Diese Art der Replikation ist eine sehr flexibel einsetzbare Methode.

Enterprise Replikation erfasst auf dem Quell-Server die zu replizierenden Transaktionen, indem es das logische Protokoll liest, die Transaktionen speichert und jede Transaktion zuverlässig als Replikationsdaten an die definierten Ziel-Server überträgt.

Auf dem Ziel-Server empfängt Enterprise Replikation die einzelnen, in den Replikationsdaten enthaltenen Transaktionen und wendet sie auf die entsprechenden Datenbanken und Tabellen als normale, protokollierte Transaktion an.

Mit Enterprise Replikation können Daten von unterschiedlichen Betriebssystemen auf unterschiedlichen Informix-Datenbank-Server-Versionen repliziert werden. Alle an der Replikation beteiligten Server müssen über ein TCP/IP-Netzwerk direkt verbunden sein.

Bei allen Tabellen, die an der Replikation teilnehmen, muss für mindestens eine Spalte eine Integritätsbedingung über Primärschlüssel (PRIMARY KEY) definiert sein, die gewährleistet, dass die Spalte eindeutig ist.

Shared Disc Server

Zusätzlich zur Spiegelung einer primären Instanz, erlaubt Informix ab der Version 11 auch die Verwendung so genannter SDS Nodes. SDS steht für Shared Disc Server und bedeutet, dass alle beteiligten DB-Server auf einen gemeinsamen Datenpool zugreifen (siehe Abbildung 3).

Die sekundären SDS-Instanzen laufen auf separaten Rechnern und verfügen über einen eigenen Bufferpool. Sie besitzen jedoch keine lokale Datenhaltung, sondern greifen direkt auf die Plattenbereiche der primären Instanz zu. Im Rahmen einer SAN-Architektur verwaltet immer nur ein DB-Server die Platten und die anderen greifen im Sinne einer Shared-all-Architektur lesend darauf zu.

Alle an der Replikation beteiligten Server müssen über ein TCP/IP-Netzwerk direkt verbunden sein, ansonsten ist kein zusätzliches Hilfsmittel notwendig.

Eine neue SDS-Instanz kann innerhalb weniger Minuten konfiguriert und gestartet werden. Ein Failover von der primären Instanz auf eine SDS-Instanz oder auch eine HDR-Secondary-Instanz ist innerhalb kürzester Zeit möglich.

Mit Auslieferung der neuesten IDS 11 Version im zweiten Quartal 2008 werden die Secondary DB-Server nicht nur lesend sondern auch schreibend auf den gemeinsamen Datenpool zugreifen können. Dieser schreibende Zugriff wird über die Methode der redirected writes implementiert. Die Daten werden bei dieser Methode auf den primären Server übertragen. Erst dort wird der eigentliche Schreibvorgang auf die Festplatten ausgeführt.

Fazit

Durch das enorme Wachstum des Daten- und Lastaufkommens in der Informationstechnologie steigen die Anforderungen an die Skalierbarkeit und Verfügbarkeit von Informationssystemen.

Mit den Erweiterungen der bereits implementierten Hochverfügbarkeitslösungen in der IDS Version 11 hat IBM einen weiteren, wichtigen Schritt in Richtung 7x24h-Betrieb auf höchstem Niveau unternommen.

In der neuesten IDS Version 11.50 - bekannt unter dem Codenamen "Cheetah 2" - sind Erweiterungen zu den Themenkreisen Administration und Hochverfügbarkeit enthalten. Diese Version wurde am 28. April 2008 offiziell vorgestellt.

In dieser Version wurde ein Connection Manager implementiert, der die ständige Verfügbarkeit aller an der Replikation beteiligten DB-Server überwacht und im Fehlerfall eine automatische Statusänderung anhand hinterlegter Regeln vornimmt. Zusätzlich hat der Connection Manager die Aufgabe, eine Lastverteilung innerhalb der definierten Replikationsgruppen durchzuführen, indem er, je nach Lastaufkommen, eigenständig Abfragen innerhalb der Replikations-Server verteilt.

Sobald wir die neue Version von Informix 11 intensiv getestet haben, werden wir Ihnen den Shared Disc Server ausführlich vorstellen.

Manfred Stöb (info@ordix.de).