5.7 Bestimmung der Datenverteilung

5.7.1 Festlegung der Fragmentierung

Zur Festlegung einer (primären) horizontalen Fragmentierung gilt es, die definierenden Selektionsprädikate zu spezifizieren. In vielen Fällen genügt hierzu die Definition von Wertebereichen auf einem der Attribute (Bereichsfragmentierung). Die Festlegung einer solchen primären Fragmentierung ist durch eine Anwendungsanalyse oft relativ einfach. In unserem Bankbeispiel bot sich so die Fragmentierung nach Filialen an, um eine Unterstützung geographischer Zugriffslokalität zu ermöglichen. Ähnliches gilt für andere geographisch zu verteilende Datenbestände, z.B. die Fragmentierung von Abteilungsdaten nach Abteilungsorten. Durch Analyse von Fremdschlüssel-Primärschlüssel-Beziehungen sowie Join-Häufigkeiten kann darauf aufbauend eine Definition von abgeleiteten horizontalen Fragmentierungen erfolgen.

Ein solcher "semantischer" Ansatz wurde auch in [BG92] empfohlen. Alternativ dazu kann versucht werden, ein mathematisches Modell zur Festlegung der Selektionsprädikate heranzuziehen, wie z.B. in [CP84, ÖV91] vorgestellt. Diese Ansätze erfordern die Festlegung, welche "Minterme" (dies sind Kombinationen einfacher Prädikate der Form <Attribut> <Vergleichsoperator> <Konstante> in konjunktiver Normalform) in welcher Häufigkeit und Selektivität auf einer Relation auszuführen sind. Mit diesen Angaben wird dann eine Zerlegung bestimmt, so daß ein Fragment nicht in unterschiedlicher Weise von zwei (oder mehr) der unterstellten Anfragetypen referenziert wird und sich für die Tupel eines Fragmentes eine in etwa gleiche Zugriffshäufigkeit ergibt. Algorithmen zur Festlegung einer vertikalen Fragmentierung versuchen, eine Partitionierung der Attributmengen zu finden, so daß Anfragetypen verschiedener Knoten möglichst disjunkte Teilmengen der Attribute benötigen [CP84, ÖV91].