18.11.2012 Aufrufe

Dokument 1 - RWTH Aachen University

Dokument 1 - RWTH Aachen University

Dokument 1 - RWTH Aachen University

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!