Die DB2 Extender können mit DB2 Extended Enterprise Edition arbeiten und auf diese Weise die Vorteile der Unterstützung für partitionierte Datenbanken nutzen, die von DB2 Extended Enterprise Edition geboten wird.
Eine partitionierte Datenbank ist eine Datenbank, die über zwei oder mehr unabhängige Maschinen verteilt ist. Für den Endbenutzer und Anwendungsentwickler erscheint die Datenbank wie eine einzelne Datenbank auf einer einzelnen Maschine. Durch die Partitionierung können Anwendungen eine Datenbank effizient nutzen, die zu groß ist, um auf nur einer Maschine ausgeführt werden zu können.
Eine partitionierte Datenbank besteht aus zwei oder mehr Partitionen. Jede Partition wird von ihrem eigenen Datenbankpartitions-Server verwaltet. Zu einem Datenbankpartitions-Server gehört ein Datenbankmanager und die Sammlung von Daten und Systemressourcen, die er verwaltet. Normalerweise ist jeder Maschine ein Datenbankpartitions-Server zugeordnet. Es ist jedoch möglich, mehrere Datenbankpartitions-Server auf einer einzelnen Maschine zu haben. Jeder Datenbankpartitions-Server hält einen Teil der gesamten Datenbank. Ein Datenbankpartitions-Server wird in einigen Fällen auch Knoten genannt.
Wie die Abbildung 9 zeigt, können Datenbankpartitionen logisch gruppiert und mit einem Namen versehen werden. Jede Gruppe von Datenbankpartitionen ist als Knotengruppe bekannt. Durch das Definieren von Knotengruppen ist es beispielsweise möglich, die Anwendungsabfragen auf ausgewählte Datenbankpartitionen zu begrenzen und somit die Transaktionszeiten zu verbessern. Eine Knotengruppe kann nur eine Datenbankpartition oder auch mehrere Datenbankpartitionen enthalten. Wenn eine Knotengruppe mehrere Datenbankpartitionen enthält, wird sie als Mehrpartitionsknotengruppe bezeichnet. Alle Datenbankpartitionen, die zu einer Mehrpartitionsknotengruppe gehören, müssen sich innerhalb derselben Datenbank befinden.
Abbildung 9. Knotengruppen in einer Datenbank
Unter Verwendung der Extender in einem partitionierten Datenbanksystem können Sie
Eine partitionierte Datenbank kann mehrere CPUs verwenden, um Informationsanforderungen zu verarbeiten. Abruf- und Aktualisierungsanforderungen werden automatisch in Unteranforderungen aufgeteilt und parallel auf den Datenbankpartitions-Servern der einzelnen Maschinen ausgeführt.
Um die Leistungsfähigkeit eines partitionierten Datenbanksystems zu illustrieren, nehmen Sie an, daß Sie 100 000 000 Datensätze in einer Datenbank mit nur einer Partition suchen wollen. Dieser Suchvorgang würde erfordern, daß ein einzelner Datenbankmanager 100 000 000 Datensätze sucht. Nehmen Sie jetzt an, daß diese Datensätze in gleichen Teilen auf 20 Datenbankpartitions-Servern verteilt wären: jeder Datenbankmanager müßte nur 5 000 000 Datensätze suchen. Wenn jeder Datenbankmanager zur gleichen Zeit und mit der gleichen Geschwindigkeit sucht, würde die erforderliche Zeit für den Suchvorgang nur bei etwa 5 % davon liegen, was ein Einzelpartitionssystem für die Ausführung dieser Task benötigte.
Wenn Ihre Datenbank größer wird, können Sie Datenbankpartitions-Server zum Datenbanksystem hinzufügen, um die Leistung zu verbessern. Dieser Prozeß ist als Skalieren des Datenbanksystems bekannt.
Wenn Sie eine Datenbank skalieren, fügen Sie einen Datenbankpartitions-Server hinzu, der seinerseits zu jeder existierenden Datenbank im Datenbanksystem eine Datenbankpartition hinzufügt. Sie können anschließend die neue Datenbankpartition einer existierenden Knotengruppe für diese Datenbank zuordnen. Schließlich können Sie Daten in dieser Knotengruppe neu verteilen, um die neue Datenbankpartition zu nutzen.
Durch die Verwendung der DB2 Extender in einer partitionierten Datenbankumgebung können Sie die Funktionen nutzen, die die Bearbeitung von LOBs besonders gut unterstützen. Große Repositories von LOBs (die jeweils bis zu 2 GB lang sein können) können in einer Datenbank gespeichert werden, seit eine Datenbank über mehrere Maschinen verteilt sein kann.
Die DB2 Extender unterstützen außerdem die Parallelverarbeitung von SQL-Operationen, wie sie von DB2 Extended Enterprise Edition verwaltet wird. Wenn DB2 Extended Enterprise Edition eine Abfrage parallel ausführt, wird jede DB2 Extender UDF in der Abfrage ebenfalls auf den einzelnen Datenbankpartitionen parallel ausgeführt.