Ausfallsicherheit zum Einstiegspreis

"Oracle Parallel Server"

Bereits seit 1997 bietet Oracle den Parallel Server für Windows NT und mittlerweile auch für Windows 2000 an. Er setzt die Enterprise Edition von "Oracle 8i" voraus und soll Skalierbarkeit und Verfügbarkeit der Oracle-Datenbank verbessern.

Der Server arbeitet nach dem Shared-Disk-Prinzip. Dadurch haben alle Cluster-Knoten gleichzeitig Zugriff auf die Datenbankdateien und können Lesevorgänge parallelisiert und damit schneller ausführen - vorausgesetzt die zu Grunde liegende Anwendung unterstützt den Parallelzugriff. Schreiboperationen hingegen müssen serialisiert werden, um der Inkonsistenz des Datenbestandes vorzubeugen. Diese Aufgabe übernimmt der Distributed-Lock-Manager (DLM), der allerdings bei schreibintensiven Anwendungen und sehr vielen Knoten leicht zum Flaschenhals wird. Die Leistungsfähigkeit in OPS-Clustern mit zwei Knoten kann mit einer nicht für den OPS-Einsatz optimierten Anwendung deshalb sogar schlechter sein als bei einem einzelnen Datenbankserver.

Der Parallel-Server stellt sehr hohe Anforderungen an die Hardware. Aufgrund seiner Architektur skaliert er am besten mit wenigen leistungsfähigen Maschinen. Die Performance eines Zwei-Knoten-Clusters mit Vier-Prozessor-Maschinen ist besser als die eines Vier-Knoten-Clusters mit Zwei-Wege-Systemen. Für die Geschwindigkeit von OPS-Lösungen ist zudem der Cluster-Interconnect entscheidend, der die Kommunikation zwischen den Knoten abwickelt und die Schreibzugriffe auf die Datenbank regelt. Ein Knoten, der in eine Tabelle schreiben möchte, meldet dies beim Distributed-Lock-Manager an. Sobald er vom DLM die Mitteilung erhält, dass die gewünschte Datenstruktur für den Schreibzugriff freigegeben ist, setzt der Knoten einen "Lock" und sichert sich damit den exklusiven Zugriff. Nach Beendigung der Operation gibt der Knoten den Lock über den DLM wieder frei.

Aufgrund dieser Koordination der Cluster-Knoten tauscht eine Shared-Disk-Architektur im Vergleich zu einem Shared-Nothing-Cluster etwa hundert Mal so viele Nachrichten aus. Ein Cluster-Interconnect über eine Netzwerkverbindung mit 100 Mbit/s wie bei Fast Ethernet kann da bereits zu langsam sein. Deshalb sollten Hochgeschwindigkeits-Interconnects eingesetzt werden, zum Beispiel "Servernet VI" von Compaq oder Gigabit Ethernet. In Zukunft wird hier auch Infiniband eine wichtige Rolle übernehmen.

Der Failover bei OPS ist relativ leicht zu bewerkstelligen, da alle Cluster-Knoten auf denselben Datenbestand zugreifen. Die Geschwindigkeit hängt allerdings stark davon ab, wie viele Locks gesetzt waren und ob der Cache kohärent ist. Damit die anderen Knoten weiter arbeiten können, muss der DLM alle Locks beseitigen, die ein ausgefallener Knoten in der Datenbank gesetzt hatte. Bei schreibintensiven Anwendungen, die ständig viele Locks setzen, ist die Failover-Zeit deshalb länger.