Eine Art der Umgebung mit Parallelverarbeitung, die von DB2 unterstützt wird, ist eine Umgebung mit symmetrischen Mehrprozessormaschinen (SMP-Maschinen). In dieser Umgebung nutzen mehrere Prozessoren den Zugriff auf die Datenbank gemeinsam. Dies ermöglicht die parallele Ausführung komplexer SQL-Anforderungen, die unter den Prozessoren aufgeteilt werden können.
Sie können den Grad der zu implementierenden Parallelität bei der Kompilierung Ihrer Anwendung angeben, indem Sie das Sonderregister CURRENT DEGREE oder die Bindeoption DEGREE verwenden. Das Schlüsselwort DEGREE (Grad) bezieht sich hier einfach auf die Anzahl der gleichzeitig (parallel) ausgeführten Teile einer Abfrage. Es gibt keine strenge Beziehung zwischen der Anzahl der Prozessoren und dem Wert, der für den Grad der Parallelität ausgewählt wird. Während der Ausführung Ihrer Anwendung muß nicht die gesamte Anzahl der Prozessoren, die zur Verwendung in der Hardwareplattform verfügbar sind, angefordert werden. Sie können sowohl mehr als auch weniger als diese Anzahl auswählen.
Jeder weitere Grad von Parallelität erhöht den Hauptspeicherbedarf und die CPU-Auslastung im System.
Wenn Sie die Parallelität nutzen, sollten Sie sich dessen bewußt sein, daß einige Konfigurationsparameter geändert werden müssen, um die Leistung zu optimieren. Konfigurationsparameter, die die Menge des gemeinsam benutzten Speichers und den Umfang des Vorablesezugriffs steuern, sollten überprüft und entsprechend der Anforderungen einer Umgebung mit einem hohen Grad an Parallelität geändert werden. Im Abschnitt Parallel finden Sie eine Liste von Parametern, die sich auf parallele Operationen und Umgebungen mit partitionierten Datenbanken beziehen.
Es gibt drei Konfigurationsparameter, die Sie zur Steuerung und Verwaltung der Parallelität verwenden können. Mit Hilfe des Datenbankkonfigurationsparameters intra_parallel wird die Unterstützung für die Exemplarparallelität aktiviert oder inaktiviert. Unter Verwendung des Datenbankkonfigurationsparameters max_querydegree wird eine obere Begrenzung hinsichtlich des Grads an Parallelität für alle Abfragen in der Datenbank festgelegt. Durch diesen Wert werden das Sonderregister CURRENT DEGREE und die Bindeoption DEGREE außer Kraft gesetzt. Der dritte dieser Datenbankkonfigurationsparameter ist dft_degree. Mit diesem Parameter werden die Standardwerte für das Sonderregister CURRENT DEGREE und für die Bindeoption DEGREE festgelegt.
Weitere Informationen zur Verwendung durch Anwendungen und zur Auswirkung der Nutzung mehr als eines Grades der Parallelität finden Sie im Handbuch Application Development Guide.
Wenn eine Abfrage mit der Definition DEGREE = ANY ausgeführt wird, wählt der Datenbankmanager den Grad der partitionsinternen Parallelität anhand einer Reihe von Faktoren aus, zu denen die Anzahl der Prozessoren und die Merkmale der Abfrage gehören. Der tatsächlich bei der Ausführung verwendete Grad kann aufgrund dieser Faktoren niedriger als die Anzahl der Prozessoren sein.
Der Grad der Parallelität wird durch das SQL-Optimierungsprogramm beim Kompilieren der Anweisung festgelegt und kann je nach Datenbankaktivität vor der Ausführung der Abfrage angepaßt werden. Der Grad der Parallelität kann niedriger als der vom SQL-Optimierungsprogramm gewählte sein, wenn das System hoch ausgelastet ist. Der Grund hierfür liegt in der intensiven Nutzung der Systemressourcen durch die partitionsinterne Parallelität, die einerseits die abgelaufene Zeit für eine Abfrage verringert, sich aber andererseits auch negativ auf die Leistung für andere Datenbankbenutzer auswirken kann.
Der vom SQL-Optimierungsprogramm ausgewählte Grad der Parallelität kann mit Hilfe der SQL-Explain-Einrichtung zum Anzeigen des Zugriffsplans ermittelt werden. Der Grad der Parallelität der zur Laufzeit verwendet wird, läßt sich mit dem Datenbanksystemmonitor ermitteln. Weitere Informationen zur SQL-EXPLAIN-Einrichtung und zugehörigen Dienstprogrammen finden Sie in Kapitel 26, Die SQL-EXPLAIN-Einrichtung und Anhang H, EXPLAIN-Programme (SQL). Weitere Informationen zum Monitor finden Sie im Handbuch System Monitor Guide and Reference.
Anmerkung: | Der Grad der Parallelität kann unabhängig von der Hardwareumgebung festgelegt werden. Dies bedeutet, daß Sie einen Grad der Parallelität verwenden können, auch wenn Sie keine SMP-Maschine haben. Zum Beispiel können "ein-/ausgabegebundene" Abfragen von der Deklaration eines Grades von "2" oder höher profitieren. In diesem Fall braucht der Einzelprozessor vielleicht nicht auf die Beendigung von Eingabe- bzw. Ausgabefunktionen zu warten, bevor er eine neue Abfrage bearbeitet. Die Deklaration eines Grades von "2" oder höher steuert die E/A-Parallelität auf einer Einzelprozessormaschine nicht direkt. Dienstprogramme wie LOAD können die E/A-Parallelität unabhängig von einer solchen Deklaration steuern. Das Schlüsselwort ANY kann beim Ändern des Parameters dft_degree ebenfalls verwendet werden. Das Schlüsselwort ANY bedeutet, daß das Optimierungsprogramm den Grad der partitionsinternen Parallelität bestimmt. |
In vielen Fällen werden Datenbankagenten zur Koordinierung der parallelen Ausführung verwendet. Im Abschnitt Datenbankagenten finden Sie weitere Informationen und eine Liste der verschiedenen Konfigurationsparameter des Datenbankmanagers, die sich auf Datenbankagenten auswirken.