Datenbanken/Parallele Hardware: SMP- und MPP-Systeme

13.10.1995

Um besser verstehen zu koennen, was sich in der parallelen Datenbank-Arena abspielt, sind ein paar grundlegende Kenntnisse ueber parallele Systeme erforderlich. Der Unterschied zwischen symmetrischem Multiprocessing (SMP) und massiv-parallelem Processing (MPP) ist dabei wichtig.

SMP-Systeme waren bisher bevorzugte Startplattform fuer die Implementierung von VLDBs. Ob ein SMP-System fuer die Verwaltung eines VLDB ausreicht, haengt weniger davon ab, welche Datenmengen es bewaeltigen kann, sondern vielmehr davon, ob eine Blockierung der gesamten Datenbank als Folge eines Systemfehlers tolerierbar ist. Bei einem Datenbank- oder Betriebssystem-Upgrade beziehungsweise einem Ausfall einer kritischen Systemkomponente wie der CPU steht die Datenbank unter Umstaenden fuer mehrere Stunden nicht mehr zur Verfuegung. Dieser Gesichtspunkt ist besonders bei OLTP-Anwendungen von entscheidender Bedeutung.

Ein weiterer Nachteil von SMP-Systemen ist die Tatsache, dass sie aufgrund der begrenzten Bandbreite und Durchsatzrate des Systembusses und der ebenfalls begrenzten Skalierbarkeit der Betriebssystem-Software nur eine relativ kleine Anzahl von CPUs unterstuetzen. Die derzeit eingesetzten SMP-Systeme lassen sich auf maximal 32 CPUs erweitern. Die von diesen Systemen gelieferten Antwortzeiten sind angesichts der Komplexitaet und Analysedichte von Decision-Support-Umgebungen, in denen sich die Abfragen in der Regel auf sehr grosse Datenmengen beziehen, haeufig nicht mehr zufriedenstellend.

Bei MPP-Systemen hingegen handelt es sich im Prinzip um nichts anderes als ein schnelles Netzwerk aus unabhaengigen Einzelprozessoren oder symmetrischen Multiprozessor-Systemen (Knoten). Im Gegensatz zu herkoemmlichen Systemumgebungen, in denen die Datenbank auf einem einzigen Knoten residiert, wird sie hier auf mehrere Stand-alone-Knoten verteilt, so dass bei Ausfall eines Knotens nur ein relativ kleiner Teil der Datenbank betroffen ist. Auf die restlichen Daten kann der Benutzer weiterhin zugreifen.

Durch die Verbindung mehrerer Knoten ueber ein schnelles Punkt-zu- Punkt-Netzwerk sind lose gekoppelte und massiv-parallele Systeme hardwareseitig nahezu unbegrenzt skalierbar. Da es keinen gemeinsamen Systembus oder uebergreifende Systemsoftware gibt, sondern jeder Knoten eine unabhaengige Einheit ist, lassen sich beliebig viele Prozessoren in das System integrieren. Diese Architekturen sind somit in der Lage, die beispielsweise fuer komplexe Decision-Support-Abfragen noetige Leistung zu liefern.