Dokument 1 - RWTH Aachen University
Dokument 1 - RWTH Aachen University
Dokument 1 - RWTH Aachen University
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6.1 Bisherige Algorithmen zur Datenintegration 131<br />
Andererseits ist die Auswertung der umgeschriebenen Regeln aufwendig, da im Prinzip die Relationen<br />
des globalen Schemas (im Beispiel r und s) neu berechnet werden. Effizienter ist es<br />
direkt die Sichten bei der Auswertung zu benutzen ohne diese Zwischenergebnisse zu produzieren.<br />
Dieser Nachteil kann aber durch nachträgliche Optimierungen, wie z.B. das „Auffalten“ der<br />
Regeln, abgeschwächt werden.<br />
MiniCon-Algorithmus<br />
Eine Schwäche des Bucket-Algorithmus von Levy et al. [1996] ist, dass in der zweiten Phase des<br />
Algorithmus zu viele Sichten betrachtet werden, obwohl sie offensichtlich für die Beantwortung<br />
einer Anfrage nicht relevant sein können. Dies liegt daran, dass der Bucket-Algorithmus nicht<br />
die Variablen der Prädikate betrachtet, sondern nur die Prädikatsnamen. Dieses Problem wird<br />
am folgenden Beispiel erläutert.<br />
Beispiel 6.1:<br />
Gegeben sind eine Anfrage q und die Sichten v1, v2 und v3.<br />
q(X) : − r(X, Y ), r(Y, X), s(X, Y )<br />
v1(A) : − r(A, B), r(B, A)<br />
v2(C, D) : − s(C, D)<br />
v3(F, H) : − r(F, G), r(G, H), s(F, G)<br />
Der Bucket-Algorithmus würde für das Teilziel r(X, Y ) sowohl v1 als auch v3 als relevant einstufen.<br />
v1 kann aber nicht für die Beantwortung von q benutzt werden, da die Variable B nicht<br />
von v1 „exportiert“ wird. Diese Variable ist aber für den Verbund mit der Relation s (bzw. einer<br />
entsprechenden Sicht) notwendig. ✷<br />
Der Shared-Variable-Bucket- (SVB) und der MiniCon-Algorithmus gehen genau auf diese Schwäche<br />
des Algorithmus ein. Die Algorithmen wurden getrennt von Mitra [2001] bzw. Pottinger und<br />
Halevy [2001] entwickelt und beziehen beide die Rolle der Variablen mit ein.<br />
Der MiniCon-Algorithmus [Pottinger und Levy, 2000; Pottinger und Halevy, 2001] arbeitet ähnlich<br />
wie der Bucket-Algorithmus in zwei Phasen. Zunächst werden in der ersten sogenannte<br />
MiniCon-Descriptions (MCDs) konstruiert, die im Wesentlichen einem „Bucket“ mit zusätzlichen<br />
Informationen entsprechen. Ein MCD für eine Anfrage q über eine Sicht v enthält die<br />
folgenden Informationen:<br />
• ein Kopf-Homomorphismus h, der (falls notwendig) Variablen aus dem Kopf von v aufeinander<br />
abbildet,<br />
• den durch h modifizierten Kopf von v, also v( −→ Y ), wobei −→ Y = h( −→ X ), wenn −→ X die Originalvariablen<br />
im Kopf von v sind,<br />
• eine partielle Abbildung ϕ der Variablen von q auf die Variablen von v, und