13 Architektur von Shared-Disk-DBS
13.2 Shared-Disk vs. Shared-Nothing
Während in SD-Systemen jede DBVS-Instanz Zugriff auf die gesamte physische DB besitzt, ist in Shared-Nothing (SN)-Systemen eine Partitionierung der Datenbank unter mehreren Rechner erforderlich. Aus dieser grundlegenden Unterscheidung resultieren eine Reihe gewichtiger Vorteile für SD:
- Die Systemverwaltung wird erheblich erleichtert, da die Bestimmung der Datenverteilung in SN-Systemen eine schwierige und aufwendige Aufgabe darstellt. Besonders problematisch ist die Festlegung einer DB-Verteilung für nicht-relationale DBS (z.B. objekt-orientierte DBS oder hierarchische bzw. Netzwerk-DBS) aufgrund der starken Vernetzung zwischen Datenobjekten. Für solche DBS erscheint der SD-Ansatz wesentlich attraktiver als SN.
- Rechnerausfälle bleiben für SD ohne Auswirkungen auf die Externspeicherzuordnung, da die überlebenden Rechner weiterhin sämtliche Daten erreichen können. In SN-Systemen drohen dagegen Verfügbarkeitseinbußen, wenn die Daten eines ausgefallenen Rechners nicht mehr erreichbar sind. Ein einfacher Ansatz bei lokaler Verteilung sieht vor, daß ein überlebender Rechner die Partition des ausgefallenen Knotens vollständig übernimmt. Der Nachteil dabei ist jedoch, daß dieser dann mit hoher Wahrscheinlichkeit zum Engpaß wird, da er die Zugriffe auf zwei Partitionen bearbeiten muß. Eine aufwendige Alternative besteht in der Replikation von Daten an mehreren Knoten (Kap. 9, Kap. 17.4).
- Eine Erhöhung der Rechneranzahl erfordert bei SN die Neubestimmung der Datenbankverteilung, um die zusätzlichen Rechner nutzen zu können. Zudem ist das physische Umverteilen für große Datenbanken ein sehr aufwendiger Vorgang, der auch die Verfügbarkeit der betroffenen Daten beeinträchtigt. Diese Probleme entfallen bei SD, so daß sich Vorteile bezüglich der Erweiterbarkeit des Systems ergeben. Insbesondere sind keine Änderungen für den physischen DB-Aufbau beim Übergang vom Ein-Rechner- auf den Mehr-Rechner-Fall erforderlich, was wiederum eine starke Vereinfachung für die Administration bedeutet.
- In SN-Systemen bestimmt die DB-Verteilung für viele Operationen, wo diese auszuführen sind, unabhängig davon, ob diese Rechner bereits überlastet sind oder nicht. Damit bestehen kaum Möglichkeiten, die Auslastung der Rechner dynamisch zu beeinflussen. Vielmehr ist mit stark schwankender Rechnerauslastung zu rechnen, da zu einem bestimmten Zeitpunkt die einzelnen DB-Partitionen i.a. ungleichmäßig referenziert werden. Bei SD dagegen kann eine DB-Operation von jedem Rechner (DBVS) bearbeitet werden, da er Zugriff auf die gesamte Datenbank besitzt. Dies ergibt ein weit höheres Potential zur dynamischen Lastverteilung und -balancierung. Damit können auch bei schwankendem Lastprofil ungleiche Rechnerauslastung sowie die damit verbundenen Leistungseinbußen umgangen werden [YD94].
- Die fehlende, statische DB-Aufteilung ergibt für SD auch erhöhte Freiheitsgrade zur Parallelisierung innerhalb von Transaktionen. Darauf wird in Teil V näher eingegangen.
Für die SN-Architektur spricht, daß es für sie hardwareseitig einfacher ist, eine große Anzahl von Prozessoren zu unterstützen, da jede Platte nur mit einem Rechner zu verbinden ist. Ferner ist ein weniger leistungsstarkes Verbindungsnetzwerk ausreichend, da es lediglich zur Kommunikation zwischen den Rechnern, jedoch nicht für Externspeicherzugriffe (Seitentransfers) verwendet wird.
SD und SN unterscheiden sich natürlich auch hinsichtlich der technischen Probleme, die jeweils zu lösen sind (Kap. 3.1.2). Während die SN-Probleme in anderen Teilen des Buchs behandelt werden, diskutieren wir im nächsten Teilkapitel die SD-spezifischen Probleme, wobei auch auf Unterschiede zu SN eingegangen wird.