3 Klassifikation von Mehrrechner-Datenbanksystemen

3.4 Vergleich und qualitative Bewertung

Die vorgestellte Klassifikation ergab im wesentlichen folgende Typen von Mehrrechner-DBS: Parallele DBS (Shared-Everything, Shared-Disk, integrierte und lokal verteilte Shared-Nothing-Systeme), Verteilte DBS, föderative DBS und Workstation/Server-DBS. Dabei verkörpert der Shared-Everything-Ansatz nur eine relativ geringe Erweiterung gegenüber zentralisierten DBS, so daß deren Beschränkungen (Leistungsfähigkeit, Skalierbarkeit, Verfügbarkeit etc.) auch zum Großteil weiter Bestand haben. Im Rest dieses Buchs werden daher - mit Ausnahme der parallelen DB-Verarbeitung (Teil V) - nur noch die anderen, allgemeineren Ansätze behandelt. Bei ihnen kooperieren mehrere DBVS, die jeweils vom Typ "Shared-Everything" sein können. Im folgenden sollen die einzelnen Architekturen hinsichtlich der in Kap. 1.2 aufgestellten Forderungen an Mehrrechner-DBS grob verglichen werden; eine zusammenfassende Bewertung zeigt Abb. 3-6.

Abb. 3-6: Grobe Bewertung von Mehrrechner-DBS
 Parallele DBS

(SD, SN)

Verteilte

DBS

Föderative

DBS

Workstation/

Server-DBS

Hohe Transaktionsraten++o/+oo
Intra-Transaktionsparallelität++o/+-/oo/+
Erweiterbarkeit +o/+oo
Verfügbarkeit++-o
Verteilungstransparenz+++o++
geographische Verteilung-++o
Knotenautonomie-o+-
DBS-Heterogenität--+-/o
Administration o--/--o

Eine hohe Leistungsfähigkeit läßt sich demnach am ehesten von Parallelen DBS vom Typ Shared-Disk (SD) und Shared-Nothing (SN) erreichen. Denn diese Ansätze können die Verarbeitungskapazität mehrerer Rechner sowie ein schnelles Kommunikationsnetz zur Erlangung hoher Transaktionsraten auf einer logischen Datenbank nutzen. Sie bieten aufgrund ihrer lokalen Rechneranordnung auch ein höheres Potential für die Parallelisierung komplexer Operationen und Transaktionen (Intra-Transaktionsparallelität) als Verteilte Datenbanksysteme. Diese können zwar ausschließlich lokale Transaktionen effizient bearbeiten, bewirken jedoch im Falle externer Datenzugriffe signifikante Leistungseinbußen. Außerdem kann i.a. keine effektive, dynamische Lastbalancierung erreicht werden; vielmehr bearbeitet jeder Rechner sämtliche Transaktionen der lokal angeschlossenen Benutzer, was nahezu zwangsläufig zu starken Unterschieden in der Auslastung einzelner Rechner führt. Für föderative DBS steht die Leistungsfähigkeit nicht im Vordergrund; sie ist relativ begrenzt, falls pro Datenbank nur ein zentralisiertes DBS eingesetzt wird.

Workstation/Server-DBS versprechen eine gute Leistungsfähigkeit primär für Nicht-Standard-Anwendungen, wenn sich nach Laden benötigter DB-Objekte in den Workstation-Hauptspeicher eine weitgehend lokale Verarbeitung erreichen läßt. Selbst dies garantiert jedoch nicht unbedingt kurze Antwortzeiten, da die Verarbeitung durch das Workstation-DBVS aufgrund hoher Anwendungskomplexität noch sehr aufwendig sein kann, so daß hier ggf. zusätzlich eine Parallelisierung vorzusehen ist. Eine hohe Leistungsfähigkeit auf Server-Seite erfordert dort eine verteilte Realisierung (Shared-Disk, Shared-Nothing) sowie möglicherweise eine Parallelisierung von Server-Operationen. Für einfache Transaktionen kommerzieller DB-Anwendungen erscheint die Verarbeitung innerhalb von Workstation-DBVS dagegen weniger aussichtsreich, da sich hierbei i.a. ein ungünstiges Verhältnis zwischen Kommunikationsaufwand mit dem Server-DBVS sowie lokaler Bearbeitungsdauer ergibt. Allerdings lassen sich Workstation/Server-Architekturen auch für solche Anwendungen im Rahmen verteilter Transaktionssysteme nutzen, wobei die Datenbankverarbeitung dann jedoch i.a. vollkommen auf Server-Seite verbleibt (s. Kap. 11).

Die Verfügbarkeit ist prinzipiell für integrierte Mehrrechner-Datenbanksysteme (Parallele und Verteilte DBS) am besten, da hierbei nach Ausfall eines Rechners die DB-Verarbeitung nach Durchführung bestimmter Recovery-Aktionen von den überlebenden Rechnern fortgeführt werden kann[11]. Geographisch verteilte Systeme bieten aufgrund der starken Entkopplung der Verarbeitungsrechner Vorteile vor allem hinsichtlich "Katastrophen", dafür ist bei ihnen vermehrt mit Fehlern im Kommunikationssystem zu rechnen. Insbesondere kann es zu sogenannten "Netzwerk-Partitionierungen" kommen, bei denen Teile des Verteilten DBS nicht mehr miteinander kommunizieren können. In Workstation/Server-Systemen kommt es aufgrund der funktionalen Spezialisierung zu komplexeren Fehlermöglichkeiten; daneben ist die Zuverlässigkeit von Workstations als gering einzustufen. Hohe Fehlertoleranz für das Server-System ist zudem nur bei dessen verteilter Realisierung möglich. Föderative DBS weisen i.a. eine geringe Verfügbarkeit auf, da nach Ausfall eines DBVS die ihm zugeordnete Datenbank nicht mehr erreichbar ist.

Die Vorteile föderativer Mehrrechner-DBS liegen dagegen bei der Unterstützung von heterogenen DBS, einer hohen Knotenautonomie sowie geographischer Verteilung. Dies wird erreicht unter Inkaufnahme einer eingeschränkten Verteilungstransparenz sowie einer komplexen Administration. Bezüglich Kosteneffektivität sind auf der gewählten Betrachtungsebene keine generelle Aussagen möglich. Mikroprozessoren können prinzipiell bei allen betrachteten Arten von Mehrrechner-DBS genutzt werden, nicht nur bei Workstation/Server-DBS.

Die Untersuchung zeigt, daß für jede Verteilform Vor- und Nachteile hinsichtlich der angeführten Bewertungskriterien bestehen, so daß es keinen "idealen" Typ eines Mehrrechner-DBS gibt. Die Eignung verschiedener Architekturansätze ist daher von dem hauptsächlichen Einsatzbereich bestimmt sowie der konkreten Lösung der jeweils zu behandelnden Probleme. Interessanterweise spricht relativ wenig für Verteilte DBS, die für bestimmte Aufgaben Parallelen DBS bzw. föderativen DBS unterlegen sind. Dennoch werden wir Verteilte DBS ausführlich behandeln, da die für sie entwickelten Verfahren auch in lokal verteilten Shared-Nothing-Systemen sowie in föderativen DBS zu einem großen Teil eingesetzt werden können. Teile II und III behandeln die Grundlagen zu verteilten und heterogenen Datenbanken, die Teile IV und V widmen sich Parallelen DBS. In Teil II geht es zunächst um die Realisierung geographisch verteilter, homogener DBS. Darauf aufbauend wird in Teil III die Unterstützung heterogener Datenbanken untersucht. Neben föderativen DBS werden hierbei vor allem Verteilte Transaktionssysteme sowie wichtige Standardisierungsanstrengungen berücksichtigt. Teil IV diskutiert den Shared-Disk-Ansatz zur Realisierung von Mehrrechner-DBS hoher Leistungsfähigkeit. Teil V behandelt die Realisierung von Intra-Transaktionsparallelität im Rahmen Paralleler DBS. Im abschließenden Teil VI werden einige kommerziell verfügbare Mehrrechner-DBS überblicksartig vorgestellt.

Übungsaufgaben

Aufgabe 3-1: Shared-Everything

Die Synchronisation über Semaphore beim Zugriff auf gemeinsame Datenstrukturen kann zu Leistungsengpässen führen. Insbesondere wenn ein DBVS-Prozeß während eines kritischen Abschnitts deaktiviert wird (z.B. wegen E/A-Vorgang oder Zeitscheibenentzug), können schnell sämtliche DBS-Prozesse blockiert werden (Konvoi-Phänomen). Wie kann die Gefahr solcher Synchronisationsengpässe reduziert werden ?

(Lösung Aufgabe 3-1)

Aufgabe 3-2: Shared-Nothing vs. Shared-Disk

In Kap. 3.4 wurde für Parallele DBS vom Typ Shared-Nothing und Shared-Disk vereinfachend dieselbe Bewertung vorgenommen. Führen Sie einen genaueren Vergleich durch. Welche architekturspezifischen Merkmale haben Rückwirkungen auf Leistungsfähigkeit, Erweiterbarkeit, Verfügbarkeit und Administration ?

(Lösung Aufgabe 3-2)


[11] Bei Shared-Nothing muß gewährleistet sein, daß die Daten der von einem Rechnerausfall betroffenen Partition weiterhin zugänglich sind, z.B. aufgrund von replizierter Speicherung oder - bei lokaler Verteilung - durch Übernahme der betroffenen Externspeicher durch überlebende Rechner.