Dieser Abschnitt enthält eine Übersicht über folgende Hardwareumgebungen:
Für jede Umgebung werden die Kapazität und Skalierbarkeit behandelt. Kapazität bezieht sich hier auf die Anzahl der Benutzer und Anwendungen, die auf die Datenbank zugreifen können. Dies wird großenteils durch Hauptspeicher, Agenten, Sperren, E/A-Operationen und Speicherverwaltung bestimmt. Skalierbarkeit bezeichnet die Fähigkeit einer Datenbank, bei zunehmender Größe weiterhin die gleichen Betriebsmerkmale und Antwortzeiten zu zeigen.
Diese Umgebung verfügt über Hauptspeicher und Platte, enthält aber nur eine CPU (siehe Abbildung 25). Für diese Umgebung werden viele verschiedene Bezeichnungen verwendet, wie zum Beispiel eigenständige Datenbank, Client-/Server-Datenbank, serielle Datenbank, Einprozessorsystem oder nicht parallele bzw. Einzelknotenumgebung.
Die Datenbank in dieser Umgebung erfüllt die Anforderungen einer Abteilung oder eines kleinen Büros, wobei die Daten und Systemressourcen (einschließlich des Einzelprozessors bzw. einer CPU) von einem einzelnen Datenbankmanager verwaltet werden.
In Tabelle 3 sind die Arten der Parallelität aufgeführt, die am besten in dieser Hardwareumgebung genutzt werden können.
Abbildung 25. Einzelpartition auf einer Einzelprozessormaschine
In dieser Umgebung können Sie weitere Platten hinzufügen. Durch den Einsatz eines oder mehrerer E/A-Server für jede Platte kann mehr als eine E/A-Operation gleichzeitig stattfinden. Sie können außerdem weiteren Festplattenspeicher in dieser Umgebung hinzufügen.
Ein Einzelprozessorsystem ist durch die Menge an Plattenspeicherplatz, den der Prozessor handhaben kann, eingeschränkt. Jedoch kann, ungeachtet aller zusätzlichen Komponenten wie Arbeitsspeicher oder Festplattenspeicher, die Sie zur schnelleren Verarbeitung von Benutzeranforderungen vielleicht hinzufügen, eine einzelne CPU bei weiterer Zunahme der Auslastung Benutzeranforderungen nicht mehr schneller verarbeiten. Wenn Sie das Maximum an Kapazität und Skalierbarkeit erreicht haben, können Sie die Umrüstung auf ein Einzelpartitionssystem mit mehreren Prozessoren in Erwägung ziehen.
Diese Umgebung besteht gewöhnlich aus mehreren gleich starken Prozessoren innerhalb derselben Maschine (siehe Abbildung 26) und wird als symmetrisches Mehrprozessorsystem (SMP-System) bezeichnet (SMP - Symmetric Multi-Processor). Ressourcen wie Plattenspeicherplatz und Hauptspeicher werden gemeinsam benutzt.
Wenn mehrere Prozessoren verfügbar sind, können verschiedene Datenbankoperationen schneller durchgeführt werden. DB2 kann auch die Arbeit einer einzigen Abfrage auf die verfügbaren Prozessoren verteilen, um die Verarbeitungsgeschwindigkeit zu erhöhen. Andere Datenbankoperationen wie das Laden von Daten, das Sichern und Wiederherstellen von Tabellenbereichen sowie die Erstellung von Indizes auf vorhandenen Daten können die Verfügbarkeit mehrerer Prozessoren ausnutzen.
In Tabelle 3 sind die Arten der Parallelität aufgeführt, die am besten in dieser Hardwareumgebung genutzt werden können.
Abbildung 26. Einzelpartitionsdatenbank auf einem symmetrischen Mehrprozessorsystem (SMP)
In dieser Umgebung können Sie weitere Prozessoren hinzufügen. Da aber verschiedene Prozessoren versuchen könnten, gleichzeitig auf dieselben Daten zuzugreifen, können mit der Zunahme der Geschäftsoperationen Einschränkungen auftreten. Durch die gemeinsame Benutzung von Hauptspeicher und Platten werden effektiv sämtliche Datenbankdaten gemeinsam benutzt.
Sie können die E/A-Kapazität der Datenbankpartition, die Ihrem Prozessor zugeordnet ist, durch eine größere Anzahl von Platten erhöhen. Sie können E/A-Server speziell zur Verarbeitung von E/A-Anforderungen einrichten. Durch den Einsatz eines oder mehrerer E/A-Server für jede Platte kann mehr als eine E/A-Operation gleichzeitig stattfinden.
Wenn Sie das Maximum an Kapazität und Skalierbarkeit erreicht haben, können Sie die Umrüstung auf ein System mit mehreren Partitionen in Erwägung ziehen.
Sie können eine Datenbank in mehrere Partitionen aufteilen, die sich jeweils auf einer eigenen Maschine befinden. Mehrere Maschinen mit mehreren Datenbankpartitionen können in einer Gruppe zusammengefaßt werden. In diesem Abschnitt werden die folgenden Partitionskonfigurationen beschrieben:
In dieser Umgebung gibt es viele Datenbankpartitionen. Jede Partition befindet sich auf einer eigenen Maschine mit eigenem Prozessor, eigenem Hauptspeicher und eigenen Platten (Abbildung 27). Alle Maschinen sind über eine Kommunikationseinrichtung verbunden. Für eine solche Umgebung werden viele verschiedene Bezeichnungen gebraucht, wie zum Beispiel Cluster, Cluster von Einzelprozessoren, Umgebung mit exklusiver Parallelverarbeitung (MPP - Massively Parallel Processing) oder Konfiguration ohne gemeinsame Nutzung von Ressourcen. Die letztgenannte Bezeichnung charakterisiert die Anordnung der Ressourcen. Im Gegensatz zu einer SMP-Umgebung findet in einer MPP-Umgebung keine gemeinsame Nutzung von Hauptspeicher oder Platten statt. In der MPP-Umgebung fallen daher auch die Einschränkungen aufgrund der gemeinsamen Nutzung von Hauptspeicher und Platten fort.
Durch die Partitionierung in einer Umgebung kann eine Datenbank trotz ihrer physischen Verteilung auf mehrere Partitionen eine logische Gesamtheit bilden. Die Tatsache, daß die Daten auf Partitionen verteilt sind, bleibt für die Mehrheit der Benutzer transparent. Die Arbeit kann unter den Datenbankmanagern aufgeteilt werden. Die Datenbankmanager in den einzelnen Partitionen verrichten die Arbeit jeweils am eigenen Teil der Datenbank.
In Tabelle 3 sind die Arten der Parallelität aufgeführt, die am besten in dieser Hardwareumgebung genutzt werden können.
Abbildung 27. System zur exklusiven Parallelverarbeitung (MPP-System)
In dieser Umgebung können Sie weitere Datenbankpartitionen (Knoten) Ihrer Konfiguration hinzufügen. Auf einigen Plattformen, z. B. RS/6000 SP, ist die mögliche maximale Anzahl 512 Knoten. Jedoch kann es praktische Grenzen für die Verwaltung einer höheren Anzahl von Maschinen und Exemplaren geben.
Wenn Sie das Maximum an Kapazität und Systemgrößenflexibilität erreicht haben, können Sie die Umrüstung auf ein System in Erwägung ziehen, in dem jede Partition mehrere Prozessoren hat.
Eine Alternative zu einer Konfiguration, in der jede Partition einen einzigen Prozessor hat, ist eine Konfiguration, in der eine Partition über mehrere Prozessoren verfügt. Eine solche Konfiguration wird als SMP-Cluster bezeichnet (Abbildung 28).
Diese Art der Konfiguration verbindet die Vorteile von SMP- und MPP-Parallelität. Dies bedeutet, daß eine Abfrage in einer Einzelpartition mit Hilfe mehrerer Prozessoren durchgeführt werden kann. Darüber hinaus kann eine Abfrage auch parallel in mehreren Partitionen durchgeführt werden.
In Tabelle 3 sind die Arten der Parallelität aufgeführt, die am besten in dieser Hardwareumgebung genutzt werden können.
Abbildung 28. Gruppe von SMP-Maschinen
In dieser Umgebung können Sie weitere Datenbankpartitionen und den vorhandenen Datenbankpartitionen weitere Prozessoren hinzufügen.
Eine logische Datenbankpartition unterscheidet sich von einer physischen Partition darin, daß ihr nicht die Steuerung einer ganzen Maschine unterliegt. Obwohl die Maschine über gemeinsam benutzte Ressourcen verfügt, nutzen Datenbankpartitionen die Ressourcen nicht gemeinsam. Prozessoren werden gemeinsam benutzt, Platten und Hauptspeicher jedoch nicht.
Logische Datenbankpartitionen bieten Skalierbarkeit. Mehrere Datenbankmanager, die in mehreren logischen Partitionen ausgeführt werden, können die verfügbaren Ressourcen eventuell erschöpfender nutzen, als dies ein einzelner Datenbankmanager könnte. Abbildung 29 veranschaulicht die Möglichkeit, mehr Skalierbarkeit auf einer SMP-Maschine zu gewinnen, indem weitere Partitionen hinzugefügt werden. Dies gilt insbesondere für Maschinen mit vielen Prozessoren. Durch die Partitionierung der Datenbank können Sie jede Partition getrennt verwalten und wiederherstellen.
Abbildung 29. Partitionierte Datenbank auf einem symmetrischen Mehrprozessorsystem
Abbildung 30 veranschaulicht die Möglichkeit, die in Abbildung 29 gezeigte Konfiguration zu vervielfachen, um die Verarbeitungsleistung zu erhöhen.
Abbildung 30. Partitionierte Datenbank auf in Gruppen zusammengefaßten SMP-Systemen
In Tabelle 3 sind die Arten der Parallelität aufgeführt, die am besten in dieser Hardwareumgebung genutzt werden können.
Anmerkung: | Die Möglichkeit, zwei oder mehr Partitionen nebeneinander auf derselben Maschine zu haben (ungeachtet der Anzahl der Prozessoren), bietet eine größere Flexibilität bei der Einrichtung hochverfügbarer Konfigurationen und der Implementierung von Übernahmestrategien bei Systemausfällen. Bei Ausfall einer Maschine kann eine Datenbankpartition automatisch von einer anderen Maschine, die bereits eine andere Partition derselben Datenbank enthält, übernommen und wieder gestartet werden. Weitere Informationen finden Sie in Kapitel 11, Entwerfen für hohe Verfügbarkeit. |
Die folgende Tabelle gibt eine Übersicht über die Arten der Parallelität,
mit denen die verschiedenen Hardwareumgebungen am besten genutzt werden
können.
Tabelle 3. Mögliche Arten der Parallelität in jeder Hardwareumgebung
Hardwareumgebung | E/A-Parallelität | Abfrageinterne Parallelität | |||
---|---|---|---|---|---|
Partitionsinterne Parallelität | Partitionsübergreifende Parallelität | ||||
Einzelpartition, Einzelprozessor | Ja | Nein (1) | Nein | ||
Einzelpartition, mehrere Prozessoren (SMP) | Ja | Ja | Nein | ||
Mehrere Partitionen, ein Prozessor (MPP) | Ja | Nein (1) | Ja | ||
Mehrere Partitionen, mehrere Prozessoren (Cluster von SMP-System) | Ja | Ja | Ja | ||
Logische Datenbankpartitionen | Ja | Ja | Ja | ||
|