DB2 Universal Database - Systemverwaltung


Übersicht über Speicherobjekte

Mit Hilfe der folgenden Datenbankobjekte können Sie definieren, wie Daten auf dem System gespeichert werden und wie die (für den Zugriff auf die Daten relevante) Leistung verbessert werden kann:

Tabellenbereiche

Eine Datenbank wird in Bestandteilen verwaltet, die als Tabellenbereiche bezeichnet werden. Ein Tabellenbereich ist ein Platz zum Speichern von Tabellen. Bei der Erstellung einer Tabelle können Sie sich entschließen, bestimmte Objekte wie Indizes und große Objekte (LOB-Daten) von den übrigen Tabellendaten getrennt zu speichern. Ein Tabellenbereich kann außerdem über eine oder mehrere physische Speichereinheiten verteilt angelegt werden. Das folgende Diagramm veranschaulicht etwas von der Flexibilität, die Sie durch die Verteilung von Daten auf Tabellenbereiche erhalten:

Abbildung 5. Tabellenbereiche

Tabellenbereiche

Tabellenbereiche befinden sich in Knotengruppen (siehe Knotengruppen). Die Definitionen und Attribute von Tabellenbereichen werden im Systemkatalog der Datenbank aufgezeichnet (siehe Systemkatalogtabellen).

Behälter werden Tabellenbereichen zugeordnet. Ein Behälter ist eine Zuordnung physischen Speichers (z. B. eine Datei oder eine Einheit).

Ein Tabellenbereich kann entweder ein vom System verwalteter Bereich (SMS - System Managed Space) oder ein von der Datenbank verwalteter Bereich (DMS - Database Managed Space) sein. Bei einem SMS-Tabellenbereich ist jeder Behälter ein Verzeichnis im Dateibereich des Betriebssystems, wobei der Speicherbereich vom Dateimanager des Betriebssystems gesteuert wird. Bei einem DMS-Tabellenbereich ist jeder Behälter entweder eine im voraus zugeordnete Datei fester Größe oder eine physische Einheit wie eine Platte, wobei der Datenbankmanager den Speicherbereich steuert.

Abbildung 6 illustriert die Beziehung zwischen Tabellen, Tabellenbereichen und den beiden Typen von Speicherbereichen. Sie zeigt außerdem, daß Tabellen, Indizes und lange Daten (LOB-Daten) in Tabellenbereichen gespeichert werden.

Abbildung 6. Tabellenbereiche und Tabellen

Tabellenbereiche und Tabellen

Abbildung 7 zeigt die drei Arten von Tabellenbereichen: regular, temporary, und long.

Tabellen, die Benutzerdaten enthalten, werden in regulären Tabellenbereichen gespeichert. Der Standardtabellenbereich für Benutzer besitzt den Namen USERSPACE1. Indizes werden ebenfalls in regulären Tabellenbereichen gespeichert. Die Systemkatalogtabellen werden in einem regulären Tabellenbereich angelegt. Der Standardtabellenbereich für Systemkatalogtabellen heißt SYSCATSPACE.

Tabellen, die Spalten mit sehr langen Zeichenfolgen (Long) oder lange Objekte (LOB) wie zum Beispiel Multimediaobjekte enthalten, werden in Tabellenbereichen für lange Objektdaten (LONG) gespeichert.

Temporäre Tabellenbereiche werden als Systemtabellenbereiche oder Benutzertabellenbereiche klassifiziert. Temporäre Systemtabellenbereiche dienen zur Speicherung interner temporärer Daten, die für SQL-Operationen wie Sortieren, Reorganisieren von Tabellen, Erstellen von Indizes und Verknüpfen von Tabellen erforderlich sind. Obwohl eine beliebige Anzahl von temporären Systemtabellenbereichen erstellt werden kann, ist es zu empfehlen, nur einen solchen Tabellenbereich zu erstellen und dabei die Seitengröße zu verwenden, die von der Mehrheit der Tabellen verwendet wird. Der Standardtabellenbereich für temporäre Systemdaten heißt TEMPSPACE1. Temporäre Benutzertabellenbereiche dienen zur Speicherung deklarierter globaler temporärer Tabellen, in denen temporäre Daten abgelegt werden. Temporäre Benutzertabellenbereiche werden nicht standardmäßig bei der Erstellung einer Datenbank erstellt.

Abbildung 7. Drei Typen von Tabellenbereichen

Drei Typen von Tabellenbereichen

Behälter

Ein Behälter ist eine physische Speichereinheit. Er kann durch einen Verzeichnisnamen, einen Einheitennamen oder einen Dateinamen bezeichnet werden.

Ein Behälter ist einem Tabellenbereich zugeordnet. Ein einzelner Tabellenbereich kann sich über viele Behälter erstrecken, jedoch kann ein Behälter jeweils nur zu einem Tabellenbereich gehören.

Abbildung 8 veranschaulicht die Beziehung zwischen Tabellen und einer Tabelle innerhalb einer Datenbank und den zugeordneten Behältern und Platten.

Abbildung 8. Tabellenbereiche und Tabellen in einer Datenbank

Tabellenbereiche und Tabellen in einer Datenbank

Die Tabellen EMPLOYEE, DEPARTMENT und PROJECT befinden sich im Tabellenbereich HUMANRES, der sich über die Behälter 0, 1, 2, 3 und 4 erstreckt. Dieses Beispiel zeigt jeden Behälter auf einer getrennten Platte.

Daten aller Tabellen werden in allen Behältern in einer Tabelle reihum verteilt gespeichert. Dies sorgt für eine gleichmäßige Verteilung der Daten auf die Behälter, die zu einem bestimmten Tabellenbereich gehören. Die Anzahl von Seiten, die der Datenbankmanager in einen Behälter schreibt, bevor er zu einem anderen Behälter wechselt, wird als Speicherbereich Speicherbereich (Extentsize) bezeichnet.

Pufferpool

Ein Pufferpool ist die Menge an Hauptspeicher, die beim Lesen von Daten vom Datenträger oder beim Ändern von Daten zum Zwischenspeichern von Tabellen- und Indexdatenseiten zugeordnet wird. Der Pufferpool dient zur Erhöhung der Systemleistung. Auf Daten im Hauptspeicher kann wesentlich schneller zugegriffen werden als auf Daten auf einem Datenträger. Daher ist die Leistung umso höher, je weniger oft der Datenbankmanager Daten von einem Datenträger lesen bzw. auf ihn schreiben (E/A) muß. (Sie können mehr als einen Pufferpool erstellen, wenngleich für die meisten Fälle nur ein Pufferpool erforderlich ist.)

Die Konfiguration des Pufferpools ist der wichtigste Einzelbereich der Optimierung, weil hier die Verzögerung durch eine langsame Ein-/Ausgabe (E/A) verringert werden kann.

Abbildung 9 veranschaulicht die Beziehung zwischen einem Pufferpool und Behältern.

Abbildung 9. Pufferpool und Behälter

Pufferpool und Behälter


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]