Informationsintegration I Integrationssysteme in der Forschung 2 Felix Naumann Wdh. Forschungsprojekte TSIMMIS Neues Datenmodell + neue Sprache! Garlic Optimierung! Mariposa Freie Markwirtschaft! Revere Neue Architektur 2
Garlic Nachtrag Ausführungspläne und POPs werden durch eine Reihe von Eigenschaften beschrieben. Relational: Tables, Cols, Preds Physical: Order, Mat, Source Estimated: Card, Cost Sie beschreiben, welche Aufgaben vom Plan ausgeführt werden. Dies ist besonders für das Einbinden von PushDown- POPs wichtig. 3 Garlic Nachtrag Materialisierung in POPs Project Tables: Columns: Preds: Source: Mat: Order: {Current_Mail m, Classes c} {m.body} {c.professor='tim O'Leary', m.subject=c.coursename} {Garlic} false NIL Jede Eigenschaft gilt für den POP und damit für den gesamten darunter hängenden Teilplan. Mat = true falls output des POP materialisiert wird. Es wird bei blockierenden Operatoren materialisiert. 4
Garlic Nachtrag 5 Blockierende Operatoren Kreuzprodukt Bestimmte Join-Operator-Implementationen Nested-Loop-Join Hash-Join Sortierung Nicht-blockierende (pipelining) Operatoren Bestimmte Join-Operatoren-Implementationen Sort-Merge-Join Selektion Projektion Generell gilt: Pipelining ist Blockierung vorzuziehen Blockierung ist manchmal notwendig Wegen Operator Wegen Datenquelle Revere Überblick 6 University of Washington Alon Halevy Laufzeit: Seit 1996 (Answering queries using views, Tukwila) Seit 2000: Ein System Zusammensetzung mehrerer Teilprojekte [HED+03]: Mangrove [MEH+03] http://www.cs.washington.edu/research/semweb/ Piazza [HIMT03] http://data.cs.washington.edu/p2p/piazza/index.htm Tukwila http://data.cs.washington.edu/integration/tukwila/ LSD [DDH03] Paul Revere?
Paul Revere - Exkurs 7 Revere Zwei Welten S-World Strukturierte Daten ta Datenbanken U-World Unstrukturierte Daten Semi-strukturierte Daten Wissen Text-Korpora Ziele: - Brücke zwischen beide Welten schlagen. - Vorteile beider Welten erhalten. 8
Revere Zwei Welten Datengenerierung (authoring) U-World: Leicht, natürliche Sprache S-World: Komplex, zunächst entwerfen, dann dem gehorchen. Anfragen (querying) U-World: Leicht, Suche S-World: Komplex, muss bekannt sein, Fehler sind fatal. Evolution (sensitivity to change) U-World: Daten können leicht geändert/erweitert werden. Such- Anfragen bleiben gültig. S-World: änderungen ziehen Anfrageänderungen nach. 9 Revere Zwei Welten Daten gemeinsam nutzen (sharing) U-World: Leicht, Korpus erstellen, Anfragen bleiben gültig S-World: Komplex, integration, Semantik Genauigkeit der Anfrageergebnisse (accuracy of answers) U-World: Ungenau, ungefähr (approximate), Relevanzabschätzungen S-World: Präzise Boolesche Semantik, komplexe Anfragen, fast alle Anwendungen verlassen sich auf diese Semantik. 10 Kernziel Revere: S-World Tools, die Eigenschaften der U-World importieren.
Schem a Revere Ziele Revere zielt wesentlich weiter als bisherige Projekte P2P Architektur Komposition vieler s Anfrageoptimierung Anfragebearbeitung in kombinierten LaV/GaV Systemen Nutzerfreundlichkeit Dazu: Tooling! 11 Anreize zur Strukturierung schaffen. Der Korpus U2S Content Revere HTML Annotation Architektur Annotated Mangrove Tool Peer 2 HTML Datenaustausch ohne zentrale Kontrolle Peer 1 s Corpusbased Design Tools Statistics over Structure Query over Peer4 Results from All Mapped Peers' Stored Data Peer 4 Peer 3 Piazza Corpus of Structured Data Werkzeuge zur Erzeugung und zum Austausch von Daten 12 Quelle: http://www.cs.washington.edu/homes/alon/files/fqas02.ppt
Mangrove: Tools zur Datenstrukturierung - Um unstrukturierte Daten in die S-World zu überführen, müssen sie strukturiert werden. - Tools zur Vereinfachung der Strukturierung (Editor) - Tools zur Motivation der Strukturierung (sofortiger Mehrwert) - Integritätsbedingungen zurückstellen - Motto: Daten entstehen bevor ihr entsteht. - Beispiel: Annotation von HTML Seiten 13 Piazza: Peer Data Management System (PDMS) - Dezentrales Datenmanagement - Peer ist Server, Client und Mediator zugleich. - Kein globales - s zwischen heterogenen ta - Datenaustausch mittels -Komposition 14
Schem a Korpus: - Zentrale Speicherung vieler ta und Daten - Extraktion von Statistiken über Zusammenhänge von Daten und - Hilft beim entwurf. - Hilft beim. - Genau Ausprägung noch unklar. 15 Anreize zur Strukturierung schaffen. Der Korpus U2S Content Revere HTML Annotation Architektur Annotated Mangrove Tool Peer 2 HTML Datenaustausch ohne zentrale Kontrolle Peer 1 s Corpusbased Design Tools Statistics over Structure Query over Peer4 Results from All Mapped Peers' Stored Data Peer 4 Peer 3 Piazza Corpus of Structured Data Werkzeuge zur Erzeugung und zum Austausch von Daten 16 Quelle: http://www.cs.washington.edu/homes/alon/files/fqas02.ppt
Mangrove Probleme Menschen sind faul. Erzeuger von Daten sind keine DB Experten. Oft existieren Daten vor den s. Schon vorher existent Leichter Daten zu erzeugen, als 17 Mangrove Motto Leitbeispiel Annotation von HTML Daten um Semantisches Web (Semantic Web) aus Daten zu erzeugen. Kalender-Service für Institut Leitprinzipien 1. Keine Replikation (Annotation direkt im HTML) 2. Annotation lokal, inkrementell und verteilt auf viele Menschen 3. Instant gratification 18
Mangrove Architektur Quelle: [MEH+03] 19 Mangrove Instant Gratification Analog zu HTML und Browser: Annotation und Service Veröffentlichung Button oder Einreichung der URL Crawler Services haben stehende Anfragen continuous queries; publish/subsribe Sofortige Bekanntmachung eines Updates bzw. einer neuen Seite durch DBMS Service feedback: User sehen sofort, welche Services durch eine URL-Einreichung angesprochen wurden, und was geschehen ist. Dient auch der Service-Entdeckung 20
Mangrove Robustheit 21 Probleme Es gibt keine Bedingungen (constraints), die falsche Eingaben verhindern (z.b. Typen). Es gibt keine Zugangs-Kontrollen jeder Nutzer kann Daten eintragen. Es ist Nutzern nicht bekannt, welche Services die Annotation verwenden werden, und welche Annotation gewünscht sind. Ziel: Dateneingabe ohne constraints, aber Services können gewisse constraints erwarten. Umsetzung: Nutzer haben volle Freiheit (Fehlende Werte, Formate, Typen, Widersprüche usw.) Data Cleaning Aufgabe der Services (Templates, Regeln) Data lineage : Alle Daten sind mit Herkunfts-URL hinterlegt. Mangrove Beispiel Services Semantische Suche Suchwörter + semantische Eigenschaften Suchwörter an Google, Eigenschaften an Mangrove Ergebnis ist die Schnittmenge der URLs Aggregation Who s Who, Veröffentlichungen, Kalender Semantische Email Terminfindung, Raumänderungen 22
Schem a Anreize zur Strukturierung schaffen. U2S Content Revere HTML Annotation Architektur Annotated Mangrove Tool Peer 2 HTML Datenaustausch ohne zentrale Kontrolle Peer 1 s Der Korpus Corpusbased Design Tools Statistics over Structure Query over Peer4 Results from All Mapped Peers' Stored Data Peer 4 Peer 3 Piazza Corpus of Structured Data Werkzeuge zur Erzeugung und zum Austausch von Daten 23 Quelle: http://www.cs.washington.edu/homes/alon/files/fqas02.ppt Piazza Ziel: Datenaustausch über viele autonome Quellen. Heute: Integration Globales im Mediator Anfragebearbeitung LaV XML All das sind schon Verbesserungen gegenüber Data Warehouses. Aber: Man benötigt globales und globalen Mediator. 24
Piazza Idee Idee: Peer Netzwerk (P2P) [HIST03], [HIMT03] Jeder Peer kann Daten exportieren (= Datenquelle) Sichten auf Daten zur Verfügung stellen (= Wrapper) Anfragen anderer Peers entgegennehmen und weiterleiten (= Mediator) Verknüpfungen nicht zwischen lokalen und globalem, sondern zwischen Paaren von Peers. 25 Wdh: Klassifikation von Informationssystemen nach [ÖV91] Verteilte, homogene DBS Verteilung Verteilte, föderierte DBS Logisch integrierte und homogene DBS 26 Verteilte, heterogene DBS Heterogenität Heterogene, Heterogene, integrierte föderierte DBS DBS Verteilte, heterogene föderierte DBS (V.MDBMS) Autonomie Homogene, föderierte DBS (MultiDBMS)
Wdh: Erweiterung der Klassifikation nach [ÖV99] Peer-to-peer Verteilung/Distribution Piazza Client/server Autonomie 27 Enge Integration Heterogenität Semiautonom Isolation Piazza Beispiel 28
Piazza Vorteile 29 Nutzer müssen nur eigenes kennen. Dennoch sind alle Daten (über transitive Hülle der s) verfügbar Neue s können leicht und inkrementell hinzugefügt werden. nur zum ähnlichsten nötig. Zusammenhang mit Mangrove (Bsp.) Viele Universitäten verwenden Mangrove Jeweils mit unterschiedlichem Annotationsschema Zusammenschluss in einem PDMS erlaubt neue Arten von Services (Fernstudium...) Piazza Probleme s zwischen s nötig s automatisch erstellen ( Matching) Komposition Effizienz (bei vielen Zwischenstationen) Verlust der Semantik (bei vielen Zwischenstationen) Effiziente Datenverteilung Updates? 30
Piazza Architektur 31 Overlay Netzwerk aus Peers, verbunden über Internet XML Datenmodell Jeder Peer kann bereitstellen: XML Daten (materialisiert) Ein (oder mehr) s s Jeder Peer kann anbieten Anfragebearbeitung (für eigenes oder fremdes ) Materialisierung Metadaten zur Koordination Piazza Anfragebearbeitung Probleme Allgemein: Anfrage gegen ein logisches, aber Daten nach (vielen) physikalischen s gespeichert Speziell: Anfragen müssen über mehrere s hinweg beantwortet werden. Speziell: XML, statt relational (macht GaV und LaV schwieriger) 32
Piazza Anfragebearbeitung -Komposition Hauptproblem: s haben eine Richtung Deshalb: LaV-Aspekte (query answering using views) und GaV-Aspekte (query unfolding) für eine Anfrage Nebenproblem: Es kann mehrere Wege durch die s zum Ziel geben Deshalb: Heuristiken zur Auswahl des besten. 33 Piazza Anfragebearbeitung (Bsp.) Szenario PDMS für Feuerwehrstationen Abkürzungen fwm: Feuerwehrmann w: Wagen f:fähigkeit ( globales ) R1: GleicherWagen(fwm1,fwm2,w) R2:Fähigkeit(fwm,f) GaV LaV Peer-Beschreibungen P1: GleicherWagen(fwm1,fwm2,w) :- Zuteilung(fwm1,w), Zuteilung(fwm2,w) P2: GleicheFähigkeit(fwm1,fwm2) Fähigkeit(fwm1,f), Fähigkeit(fwm2,f) 34 Anfrage: Q: Überkapazität(fwm1,fwm2) :- GleicherWagen(fwm1,fwm2,w), Fähigkeit(fwm1,f), Fähigkeit(fwm2,f)
Piazza Anfragebearbeitung (Bsp.) Anfrage: Q: Überkapazität(fwm1,fwm2) :- GleicherWagen(fwm1,fwm2,w), Fähigkeit(fwm1,f), Fähigkeit(fwm2,f) Peer-Beschreibungen P1: GleiWa(fwm1,fwm2,w) :- Zuteilung(fwm1,w), Zuteilung(fwm2,w) P2: GleiFäh(fwm1,fwm2) Fähigkeit(fwm1,f), Fähigkeit(fwm2,f) 35 Q(fwm1,fwm2) Zuteil.(fwm1,w) GleiFäh(fwm1,fwm2) Zuteil.(fwm2,w) GleiFäh(fwm2,fwm1) S1(fwm1,w,-) S1(fwm2,w,-) S2(fwm1,fwm2) S2(fwm2,fwm1) Speicher-Beschreibungen S1(fwm,w,start) Zuteilung(fwm,w), Plan(fwm,start,ende) S2(fwm1,fwm2) = GleiFäh(fwm1,fwm2) GleiWa(fwm1,fwm2,w) F(fwm1,f) F(fwm2,f) Piazza Anfragebearbeitung (Bsp.) Anfrage: Q: Überkapazität(fwm1,fwm2) :- GleicherWagen(fwm1,fwm2,w), Fähigkeit(fwm1,f), Fähigkeit(fwm2,f) Peer-Beschreibungen P1: GleiWa(fwm1,fwm2,w) :- Zuteilung(fwm1,w), Zuteilung(fwm2,w) P2: GleiFäh(fwm1,fwm2) Fähigkeit(fwm1,f), Fähigkeit(fwm2,f) 36 Q(fwm1,fwm2) GleiWa(fwm1,fwm2,w) F(fwm1,f) F(fwm2,f) Zuteil.(fwm1,w) GleiFäh(fwm1,fwm2) Zuteil.(fwm2,w) GleiFäh(fwm2,fwm1) S1(fwm1,w,-) S1(fwm2,w,-) S2(fwm1,fwm2) S2(fwm2,fwm1) Anfrageumschreibung Q (fwm1,fwm2) :- S1(fwm1,w,-), S1(fwm2,w,-), S2(fwm1,fwm2) S1(fwm1,w,-), S1(fwm2,w,-), S2(fwm2,fwm1)
Schem a Piazza Anfragebearbeitung Rule-goal-tree (Regel-Ziel-Baum) Kann beliebig tief werden (viele Peers) Kann beliebig breit werden (komplexe s) Optimierung Pruning (Beschneidung) durch Erkennen nutzloser Knoten Frühes Finden fertiger Umschreibungen zum frühen Beginn der Anfrageausführung Bei redundanten Umschreibungen die Beste auswählen. 37 Anreize zur Strukturierung schaffen. Der Korpus U2S Content Revere HTML Annotation Architektur Annotated Mangrove Tool Peer 2 HTML Datenaustausch ohne zentrale Kontrolle Peer 1 s Corpusbased Design Tools Statistics over Structure Query over Peer4 Results from All Mapped Peers' Stored Data Peer 4 Peer 3 Piazza Corpus of Structured Data Werkzeuge zur Erzeugung und zum Austausch von Daten 38 Quelle: http://www.cs.washington.edu/homes/alon/files/fqas02.ppt
Korpus Aufbau Idee: Konzepte eines Korpus (corpus, repository) aus der U-World in die S-World übernehmen. Vision! Aufbau des Korpus Sammlung von ta und Ontologien Sammlung von s und Anfragen Sammlung von Beispieldaten (XML, relational...) Sammlung von Metadaten und Statistiken Frequenz von Worten Zusammentreffen (co-occurrence) von elementen Synonyme von elementen 39 Korpus Nutzen 40 Tools generierung -AutoComplete Bootstrapping um ein Kernschema herum Vorteile Geschwindigkeit Bessere und Standard-s Matching Basierend auf bekannte Matches Basierend auf Beispieldaten und Metadaten LSD [DDH03] Anfragehilfe Anfragen an unbekanntes in eigenen Worten
Zusammenfassung TSIMMIS Neues Datenmodell + Sprache! Garlic Optimierung! Revere Die Zukunft! 41 Literatur [MEH+03] Luke McDowell, Oren Etzioni, Alon Halevy, Henry Levy, Steven Gribble, William Pentney, Deepak Verma, and Stani Vlasseva. Mangrove: Enticing Ordinary People onto the Semantic Web via Instant Gratification. Second International Semantic Web Conference (ISWC 2003), October 2003. [HED+03] Alon Halevy, Oren Etzioni, AnHai Doan, Zachary Ives, Jayant Madhavan, Luke McDowell, Igor Tatarinov Crossing the Structure Chasm. (CIDR 2003) [DDH03] Anhai Doan, Pedro Domingos, Alon Halevy, Learning to Match the schemas of data sources: a multistrategy approach. Machine Learning Journal 2003 [HIST03] Alon Y. Halevy, Zachary G. Ives, Dan Suciu, Igor Tatarinov. Mediation in Peer Data Management Systems, ICDE conference 2003 [HIMT03] Alon Y. Halevy, Zachary G. Ives, Peter Mork, Igor Tatarinov. Peer Data Management Systems: Infrastructure for the Semantic Web. WWW Conference, 2003. [MEH+03] Luke McDowell, Oren Etzioni, Alon Halevy, Henry Levy, Steven Gribble, William Pentney, Deepak Verma, and Stani Vlasseva Mangrove: Enticing Ordinary People onto the Semantic Web via Instant Gratification.. Second International Semantic Web Conference (ISWC 2003), October 2003 [ÖV99] Principles of Distributed Database Systems. M. Tamer Özsu, Patrick Valduriez, Prentice Hall, 1999. 42