6 Verteilte Anfragebearbeitung

6.3 Erzeugung von Fragment-Anfragen

In diesem Schritt wird eine weitergehende Transformation des relationalen Anfrageausdrucks (Operatorbaumes) unter Berücksichtigung der Datenverteilung vorgenommen. Wie in Abb. 6-2 gezeigt, sind hierzu zwei Teilschritte vorgesehen. Zunächst werden Zugriffe auf fragmentierte Relationen durch Zugriffe auf die einzelnen Fragmente ersetzt. Dies läßt sich einfach erreichen, indem die betroffenen Relationen durch ihren Rekonstruktionsausdruck ersetzt werden, wodurch ein sogenannter (initialer) Fragment-Ausdruck entsteht. Wie wir in Kap. 5.5 gesehen haben, kann jeder Rekonstruktionsausdruck selbst durch einen Operatorbaum beschrieben werden. Diese Operatorbäume werden jetzt quasi als Teilbäume in den Operatorbaum für die Anfrage eingefügt. Daran anschließend können auf dem entstandenen Baum (Ausdruck) wiederum algebraische Vereinfachungen und Restrukturierungen vorgenommen werden. Ziel dieser Optimierungen ist es, die Verarbeitung auf möglichst wenige der einzelnen Fragmente zu reduzieren. Damit kann das zu verarbeitende Datenvolumen und somit der Rekonstruktions- und Kommunikationsaufwand begrenzt werden.
Wir werden diese Vorgehensweise nachfolgend für jede der in Kap. 5 eingeführten Fragmentierungsarten diskutieren. Wir gehen dabei vereinfachend davon aus, daß keine Replikation von Fragmenten vorliegt.

6.3.1 - Daten-Lokalisierung bei primärer horizontaler Fragmentierung
6.3.2 - Daten-Lokalisierung bei abgeleiteter horizontaler Fragmentierung
6.3.3 - Daten-Lokalisierung bei vertikaler Fragmentierung
6.3.4 - Daten-Lokalisierung bei hybrider Fragmentierung