Mehrrechner-Datenbanksysteme

17 Datenverteilung in Parallelen DBS

Voraussetzung für die Nutzung von Datenparallelität ist eine geeignete Datenverteilung, so daß mehrere Prozesse auf disjunkten Datenbereichen parallel arbeiten können. Zu unterstützen sind dabei beide Arten der E/A-Parallelität, also Zugriffs- und Auftragsparallelität. Während in Shared-Everything- und in Shared-Disk-Systemen lediglich eine Verteilung der Daten über mehrere Platten zu finden ist, erfordert Shared-Nothing zugleich eine Verteilung der Daten unter den Verarbeitungsrechnern. Die Datenverteilung hat in dieser Architektur daher auch direkten Einfluß auf den Kommunikations-Overhead und ist daher von besonderer Bedeutung für die Leistungsfähigkeit.
Wir konzentrieren uns daher weitgehend auf die Bestimmung der Datenverteilung für Shared-Nothing, die ähnlich wie für Verteilte DBS die Schritte der Fragmentierung und Allokation erfordert (Kap. 5). Um jedoch eine effektive Parallelisierung erreichen zu können, sind diese Aufgaben enger aufeinander abzustimmen. Insbesondere empfiehlt sich vor der Fragmentierung bereits die Festlegung des Verteilgrades einer Relation. Die eigentliche Allokation (Zuordnung von Fragmenten zu Rechnern) ist danach relativ einfach möglich. Nach der Diskussion dieser drei Teilschritte untersuchen wir noch, inwieweit eine replizierte Datenhaltung von Interesse ist. Am Ende des Kapitels wird dann kurz auf die Datenverteilung bei Shared-Everything und Shared-Disk eingegangen.

17.1 - Bestimmung des Verteilgrades
17.2 - Fragmentierung
17.3 - Allokation
17.4 - Replikation
17.5 - Datenverteilung bei Shared-Everything und Shared-Disk
Übungsaufgaben