- Paralleles Datenbanksystem
-
Ein paralleles Datenbanksystem ist ein Datenbanksystem, das auf einem parallelen Rechnersystem mit hochgradiger Verbindung implementiert ist.
Inhaltsverzeichnis
Klassifikation
Es gibt drei grundlegende Architekturen paralleler Datenbanksysteme (Stonebraker-Klassifikation):
- Shared Everything (SE): Der Hauptspeicher und das Plattensubsystem werden von Prozessoren gemeinsam genutzt.
- Shared Disks (SD): Nur das Plattensubsystem wird von Prozessoren gemeinsam genutzt, jeder Prozessorknoten besitzt einen eigenen Hauptspeicher.
- Shared Nothing (SN): Es gibt keine gemeinsam genutzten Ressourcen.
Diese Klassifikation wurde später um weitere hierarchische Architekturarten erweitert. Dazu zählen beispielsweise:
- Clustered Everything (CE): Zweischichtige, hierarchische Architektur, die aus mehreren SE-Clustern besteht, die nach dem Shared-Nothing-Prinzip miteinander verbunden sind.
- Clustered Disk (CD): Zweischichtige, hierarchische Architektur, die aus mehreren SD-Clustern besteht, die nach dem Shared-Nothing-Prinzip miteinander verbunden sind.
- Clustered Disks Nothing (CDN): Dreischichtige, hierarchische Architektur, die in der unteren Schicht aus einem Satz von SD-Clustern und in der oberen Schicht aus einem Satz von SN-Clustern besteht. Die einzelnen SN-Cluster sind nach SN-Prinzip miteinander verbunden.
Anforderungen
Zu typischen Anforderungen paralleler Datenbanksysteme zählen:
- Kurze Antwortzeiten/hohen Durchsatz
- Hohe Verfügbarkeit
- Gute Skalierbarkeit
- Effiziente Lastbalancierung
- Geringe Interprozessorkommunikation
- Möglichst kein Aufwand für Cache-Kohärenzkontrolle
- Effiziente Synchronisation der (globalen) Zugriffskonflikte
- Hohe Kosteneffektivität
Optimierungsmöglichkeiten
Die wichtigsten Optimierungsmöglichkeiten liegen in der Parallelität für Hardware- und Softwarekomponenten. Parallele Datenbanksysteme ermöglichen die Datenbankverarbeitung auf parallelen Rechnersystemen, sodass die Verarbeitungskapazität zahlreicher Prozessoren zur Leistungssteigerung genutzt werden kann. Die Datenbankparallelität ermöglicht eine Parallelisierung von Transaktionen bis hin zu einzelnen (Teil-)Operationen. Darüber hinaus erlauben Anfragenoptimierungsalgorithmen und die Lastbalancierung die Beschleunigung der (parallelen) Anfragenausführung. Ein wichtiger Vorteil paralleler Datenbanksysteme liegt darin, dass beim Einsatz gebündelter leistungsfähiger Standardhardware (insbesondere Mikroprozessoren) eine effiziente Datenverarbeitung und damit eine hohe Kosteneffektivität erreicht werden können. Gleichzeitig kann die Verfügbarkeit des Datenbanksystems nach einem Ausfall der einzelnen Rechner aus dem Rechnerverbund erhöht werden. Untersuchungen haben gezeigt, dass die SN-Architektur die beste Leistung unter den Basisarchitekturen erbringen kann. Die hierarchische CDN-Architektur ermöglichte in den Untersuchungen die beste Leistung der berücksichtigten parallelen Datenbanksysteme.
Literatur
- L. B. Sokolinsky: Survey of Architectures of Parallel Database Systems. Programming and Computer Software, Springer Netherlands, vol. 30, 6. November 2004
- E. Rahm: Mehrrechner-Datenbanksysteme – Grundlagen der verteilten und parallelen Datenverarbeitung. Addison-Wesley, Bonn, 1994
Quellen
Wikimedia Foundation.