Local-as-View
aus Wikipedia, der freien Enzyklopädie
Local-as-View (LaV, Lokal-als-Sicht) ist ein Fachbegriff aus der Informatik, der sich auf die Art der Verarbeitung von Daten bezieht.
Local-as-View bezeichnet ein Muster zur Zusammenführung von Schemata im Rahmen der Informationsintegration. Kernidee ist, dass einzelne Relationen von lokalen Schemata der Datenquellen als Sichten auf das gemeinsame globale Schema ausgedrückt werden. Im Gegensatz zum umgekehrten Ansatz Global-as-View, der vom globalen Schema ausgeht, bleibt das globale Schema beim Ändern, Hinzufügen und Entfernen von Quellen konstant. Local-as-View wird vor allem bei Mediator-basierten Informationssystemen angewandt.
Sowohl Assoziationen über mehrere Relationen des globalen Schemas als auch Nebenbedingungen der Quellen können modelliert werden. Dies gilt jedoch nicht für Assoziationen über Relationen verschiedener Quellen sowie Nebenbedingungen des globalen Schemas.
Mit Global-Local-as-View oder Both-as-View existiert eine Methode, die Eigenschaften von Global-as-View und Local-as-View kombiniert, indem zwischen globalem und lokalem Schema Sichten auf Sichten abgebildet werden.
Inhaltsverzeichnis |
[Bearbeiten] Beispiele
Gegeben sind drei lokale Datenquellen mit folgenden Schemata:
Q1: Ausweisnummer, Name, Ort
Q2: Name, Ausweisnummer, Alter
Q3: Ausweisnummer, Alter, Beruf
Diese sollen auf das folgende globale Schema abgebildet werden
Person: Ausweisnummer, Name, Alter
Die Sichten der Quellen auf das globale Schema sind (in SQL)
CREATE VIEW S1 AS SELECT Ausweisnummer, Name, NULL FROM Person
CREATE VIEW S2 AS SELECT Name, Ausweisnummer, Alter FROM Person
CREATE VIEW S3 AS SELECT Ausweisnummer, Alter, NULL FROM Person
Auch Assoziationen über mehrere Relationen des globalen Schemas können modelliert werden. Sei im globalen Schema eine weitere Relation enthalten, die Ausweisnummern und Orte einander zuordnet:
Adresse: Ausweisnummer, Ort
Dann lässt sich die Quelle Q1
darstellen als
CREATE VIEW S1 AS SELECT Person.Ausweisnummer, Person.Name, Adresse.Ort
FROM Person, Adresse WHERE Person.Ausweisnummer = Adresse.Ausweisnummer
Nebenbedingungen von Quellen werden direkt übernommen. Falls beispielsweise die Quelle Q2
nur Personen ab 18 Jahren enthält, ist die Sicht
CREATE VIEW S2 AS SELECT Ausweisnummer, Name, Alter FROM Person
WHERE Alter >= 18
[Bearbeiten] Anfragebearbeitung
Die Bearbeitung von Anfragen an das globale Schema ist bei Local-as-View wesentlich komplexer als bei Global-as-View. Die einzelnen Sichten müssen geschickt so kombiniert werden, dass ihr Ergebnis einen Teil der Anfrage oder die gesamte Anfrage beantwortet. Das Gesamtergebnis ergibt sich aus einer Vereinigung der verschiedenen Teilantworten.
Da sich die Teilanfragen häufig überlappen oder auch nicht benötigte Daten liefern, besteht viel Potential für Optimierung. Eine offensichtlich triviale Form der Anfragebearbeitung bestände darin, die gesamten Quellen auszulesen. Eine Anfrage kann beispielsweise so optimiert werden, dass möglichst wenig Daten aus den Quellen übertragen werden müssen, dass sie möglichst schnell beantwortet werden kann oder dass die Quellen möglichst gleichmäßig ansgesprochen werden.
Effiziente Algorithmen zur Zusammenstellung von Quellen sind:
- Bucket-Algorithmus
- Inverse-Rules-Algorithmus
- MiniCon-Algorithmus
[Bearbeiten] Beispiel
Im oben aufgeführte Beispiel sei eine Anfrage auf das globale Schema mit den Relationen Person
und Adresse
gegeben:
SELECT Person.Alter, Adresse.Ort FROM Person, Adresse WHERE Person.Ausweisnummer=Adresse.Ausweisnummer
Zur Beantwortung wird die Anfrage so umgeschrieben, dass sie über die Sichten gestellt ist (genaueres zur Anfrageumschreibung siehe unter Bucket-Algorithmus):
SELECT S2.Alter, S1.Ort FROM S1, S2 WHERE S1.Ausweisnummer=S2.Ausweisnummer UNION SELECT S3.Alter, S1.Ort FROM S1, S3 WHERE S1.Ausweisnummer=S3.Ausweisnummer
Die so umformulierte Anfrage kann nun über den Quellen ausgeführt werden, die die den Sichten entsprechenden.
[Bearbeiten] Literatur
- Alon Halevy: Answering queries using views: a survey. In: VLDB Journal 10, S. 270-294, 2001
- Jeffrey Ullmann: Information Integration Using Logical Views. In: Proceedings of the 6th International Conference on Database Theory. Springer, 1997. S. 19-40 ISBN 3-540-62222-5
- Pottinger, Halevy: MiniCon: A Scalable algorithm for answering queries using views. In: VLDB Journal, 2001