Informationsintegration Mediator/Wrapper-Architektur & Peer-Data-Management 8.11.2004 Felix Naumann Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 2 Daten werden zu Informationen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 3 Mediatoren „A mediator is a software module that exploits encoded knowledge about certain sets or subsets of data to create information for a higher layer of applications“ Wiederhold `92 [Wie92] Ein Mediator ist eine Softwarekomponente, die Wissen über bestimmte Daten benutzt, um Informationen für höherwertige Anwendungen zu erzeugen. 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 4 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Autonome Systeme Mediator Wrapper 1 Wrapper 2 Wrapper 3 Quelle 1 Quelle 2 Quelle 3 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 5 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Autonome Systeme Mediator Wrapper 1 Wrapper 2 Wrapper 3 Quelle 1 Quelle 2 Quelle 3 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 6 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Externe Schemas Föderiertes Schema Mediator Wrapper 1 Quelle 1 8.11.2005 Wrapper 2 Quelle 2 Export Schemas Wrapper 3 Komponenten Schemas Quelle 3 Lokale Schemas Felix Naumann, VL Informationsintegration, WS 05/06 7 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Mediator Wrapper 1 Quelle 1 8.11.2005 Wrapper 3 Quelle 2 Quelle 3 Felix Naumann, VL Informationsintegration, WS 05/06 Quelle 1 und Quelle 2 unterscheiden sich nur leicht, z.B. zwei Oracle Datenbanken mit identischen Schemas. 8 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Mediator Mediator Wrapper 1 Wrapper 2 Wrapper 3 Quelle 1 Quelle 2 Quelle 3 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 Mediatoren dienen als Quellen für andere Mediatoren. Stufenweise Added-Value. 9 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Anwendung 3 Mediator etc.... Mediator Wrapper 1 Wrapper 2 Wrapper 3 Quelle 1 Quelle 2 Quelle 3 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 Anwendungen können auch direkt mit Quellen kommunizieren. 10 Mediator-Wrapper Architektur Anwendung 1 Anwendung 2 Anwendung 3 Mediator Mediator Wrapper 1 Quelle 1 8.11.2005 Quelle 2 Wrapper 2 Wrapper 3 Quelle 3 Quelle 4 Felix Naumann, VL Informationsintegration, WS 05/06 11 Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 12 Einfache Mediatoren „[A mediator] should be small and simple, so that it can be maintained by one expert or, at most, a small and coherent group of experts.“ Wiederhold `92 Ein Mediator sollte klein und einfach genug sein, um durch einen einzigen oder höchstens eine kleine Gruppe von Experten gewartet werden zu können. D.h.: Einfaches föderiertes Schema, begrenzte Domäne, einfache Schnittstellen Erfahrung: Suchmaschinen ändern wöchentlich ihre Schnittstelle 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 13 Einfache Mediatoren 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 14 Integration mit Mediatoren 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 15 Funktionale Schichten Nutzer interface Service interface Quellen-Zugriff interface Real-world interface 8.11.2005 Nutzer Anwendung Mediation Wrapper Mensch-Maschine Interaktion Anwendungs-spezifischer Code Domänen-spezifischer Code Quellen-spezifischer Code Datenquelle Felix Naumann, VL Informationsintegration, WS 05/06 16 Schnittstellen X-Widgets, HTML, Java Web Services SQL, XML Sensoren, Sachbearbeiter 8.11.2005 Nutzer Anwendung Mediation Mensch Maschine Anwendung Mediator Mediator Datenquellen Wrapper Datenquellen Welt Datenquelle Felix Naumann, VL Informationsintegration, WS 05/06 17 Funktionen der Mediation Erbracht durch Domänen-Experten Suche und Auswahl relevanter Informationsquellen Transformationen zur Konsistenzerhaltung Metadaten zur Verarbeitung Abstraktion zum Verständnis Integration verschiedener Quellen Zusammenfassung zur Präsentation All dies transformiert Daten zu Informationen. 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 18 Mehrwert durch Mediatoren 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 19 Dicke und Dünne Mediatoren 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 20 Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 21 Wrapper Wrapper sind Softwarekomponenten, die die Kommunikation und den Datenfluss zwischen Mediatoren und Datenquellen herstellen. Wrapper sind jeweils spezialisiert auf eine Ausprägung autonomer, heterogener Quellen. Wrapper vermitteln zwischen Mediator und Quelle. 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 22 Wrapper – Aufgaben Lösen Schnittstellenheterogenität technisch SQL, HTML Formulare, http, CORBA, ... Mächtigkeit der Anfragesprache Lösen Datenmodellheterogenität Lösen schematische Heterogenität Liefern kanonisches Schema Reduzieren Anzahl der Datenmodelle (mit denen das IIS umgehen muss) Reduzieren Anzahl der Schemata Unterstützen globale Optimierung Kostenmodell Anfragefähigkeiten 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 23 Wrapper – Anforderungen Sollten schnell implementiert werden können (< 1 Woche) Sollten wiederverwendbar sein Lokale Wartung (bei föderierten Systemen) An den Wrappern scheitern viele Projekte! Deshalb Forschung zur schnellen oder sogar automatischen Wrappergenerierung. Wrapperbibliotheken 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 24 Garlic Wrapper Generierung [Gar95] Forschungsprojekt am IBM Almaden Research Center Neu: Optimierung Neu: Kostenmodell Weiterentwicklung zu Produkten DiscoveryLink Information Integrator 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 25 Garlic Wrapper Generierung nach [TS97] Praktische Anforderungen aus [TS97] Start-up Kosten gering (Stunden) Erweiterbarkeit Einfacher Start Später Fähigkeiten der Quellen hinzufügen Flexibilität Möglichst breites Spektrum an Quellen abdecken Neue Quellen stören Architektur nicht. Optimierung Nicht durch Autoren sondern durch Garlic 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 26 Garlic Wrapper Generierung Vier Grund-Services 1. 2. 3. 4. Modellierung und Zugriff auf die Daten in der Quelle Aufruf von Methoden in der Quelle Mithilfe bei der Anfrageplanung Anfrageausführung 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 27 Garlic Wrapper Generierung Quelle: [TS97] 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 28 Garlic Wrapper Generierung Modellierung und Zugriff auf die Daten Garlic nutzt OO Modell Wrapper stellt Daten als Objekte mit Interface (globales Schema) und Implementierung (lokales Schema) dar. Stellt Identität von Objekten her. 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 29 Garlic Wrapper Generierung Aufruf von Methoden in der Quelle Implizit immer: Get_attr() für jedes Attribut Implizit immer: Set_attr() für jedes nicht-readonly Attribut Um auch Quellen abzudecken, die nur über Methoden zu erreichen sind. Um besondere Fähigkeiten von Quellen auszuschöpfen. Beispiel: display_Image(ImageID) 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 30 Garlic Wrapper Generierung Mithilfe bei der Anfrageplanung (query planning) Garlics Anfrageplanung betrachtet alternative Pläne und sucht den besten heraus. Kostenbasiert Mediator verschickt „Teilaufgaben“ an Wrapper. Wrapper kann Teile davon ablehnen (je nach Fähigkeiten der Quelle). Mediator gleicht aus. Preprocessing Postprocessing Wrapper liefert null oder mehr Teilpläne zurück. Teilpläne werden in Gesamtplan eingebaut. 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 31 Garlic Wrapper Generierung Anfrageausführung (query execution) Mediator produziert Operatorbaum. Wrapper-Teilpläne sind Blätter in dem Baum. Pläne werden in Iteratoren umgewandelt Pipelining 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 32 Beispiel: XML Wrapper für DB2 II nach [JS03] On-line Anfragen gegen XML Daten aus externen Quellen Relationale Abstraktion von XML Daten: Die Daten sind nicht in DB2 gespeichert XML Hierarchie wird gemäss Mapping-Strategie auf virtuelle Tabellen abgebildet XPath zur Extraktion der Attributwerte Anwendungen sehen Tabellen und nicht XML Anfragen an XML Daten mit ganzer SQL Mächtigkeit Aggregation, Sichten, etc. Integration von XML Daten mehrerer Quellen Integration von XML Daten mit relationalen Daten oder andere föderierten Quellen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 33 Beispiel: XML Wrapper für DB2 Kunden Bestellungen Zahlungen XML Schema Posten Shredding Relationales Schema (virtuelle Tabellen, nicknames) Posten 8.11.2005 Bestellungen Kunden Felix Naumann, VL Informationsintegration, WS 05/06 Zahlungen 34 Beispiel: XML Wrapper für DB2 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 35 Beispiel: XML Wrapper für DB2 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 36 Beispiel: XML Wrapper für DB2 CREATE NICKNAME kunden_NN( name VARCHAR(48) OPTIONS(XPATH './name/text()'), addresse VARCHAR(48) OPTIONS(XPATH './address/text()'), kunden_NN_ID VARCHAR(48) OPTIONS(PRIMARY_KEY 'YES')) FOR SERVER xml_server OPTIONS(XPATH '//customer', FILE_PATH ‘customers.xml'); CREATE NICKNAME order_NN( amount DOUBLE OPTIONS(XPATH './amount/text()'), date VARCHAR(48) OPTIONS(XPATH './date/text()'), order_NN_ID VARCHAR(48) OPTIONS(PRIMARY_KEY 'YES'), customer_NN_FID VARCHAR(48) OPTIONS(FOREIGN_KEY 'CUSTOMER_NN')) FOR SERVER xml_server OPTIONS(XPATH './/order'); CREATE NICKNAME item_NN( name VARCHAR(48) OPTIONS(XPATH './name/text()'), quant INTEGER OPTIONS(XPATH './quant/text()'), order_NN_FID VARCHAR(48) OPTIONS(FOREIGN_KEY 'ORDER_NN')) FOR SERVER xml_server OPTIONS(XPATH './/item'); 8.11.2005 CREATE NICKNAME payment_NN( amount INTEGER OPTIONS(XPATH './amount/text()'), date VARCHAR(48) OPTIONS(XPATH './date/text()'), customer_NN_FID VARCHAR(48) OPTIONS(FOREIGN_KEY 'CUSTOMER_NN')) FOR SERVER xml_server OPTIONS(XPATH './/payment'); Felix Naumann, VL Informationsintegration, WS 05/06 37 Automatisiertes Wrappen [NJM03] XML Schema Lesen Shredding-Strategie anwenden Volle Normalisierung Eine einzige Universalrelation Etwas dazwischen Optimiert für XQuery Bearbeitung in DB2 Eventl. manuelle Modifikationen CREATE NICKNAMEs schreiben 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 38 Automatisiertes Wrappen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 39 Firmen, die Mediatoren und Wrapper einsetzen BEA systems CA (Computer Associates) Product: OPAL; Specialty: Screenscraper, extract and integratate output without an API. Enosys: XML-based data integration Genelogic: genomics information in object form DiscoveryLink / Information Integrator MetaMatrix: Enterprise Content Integration, eCommerce infrastructure software to manage the metadata of disparate data repositories and to provide uniform access to these information silos. Nimble Technnology: XML-based data integration From: http://www-db.stanford.edu/LIC/companies.html 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 40 Forschungsprojekte Carnot CoBase COIN Garlic Harvest Information Discovery and Access System HERMES Info* 8.11.2005 Infomaster Information Manifold INFOSLEUTH OBSERVER SIMS SKC Tsimmis Felix Naumann, VL Informationsintegration, WS 05/06 41 Überblick Mediator-Wrapper Architektur Gio Wiederholds Definitionen Konfigurationen Mediatoren Wrapper Peer-Data-Management Architektur Anwendungen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 42 Wdh: Klassifikation von Informationssystemen nach [ÖV91] Verteilte, homogene DBS Verteilung Verteilte, föderierte DBS Verteilte, heterogene DBS Verteilte, heterogene föderierte DBS (V.MDBMS) Autonomie Logisch integrierte und homogene DBS Heterogenität 8.11.2005 Heterogene, integrierte DBS Heterogene, föderierte DBS Felix Naumann, VL Informationsintegration, WS 05/06 Homogene, föderierte DBS (MultiDBMS) 43 Wdh: Erweiterung der Klassifikation nach [ÖV99] Peer-to-peer Verteilung/Distribution PDMS Client/server Autonomie Heterogenität 8.11.2005 Enge Integration Semiautonom Felix Naumann, VL Informationsintegration, WS 05/06 Isolation 44 PDMS – Idee Idee: Peer Netzwerk (P2P) Jeder Peer kann [HIST03], [HIMT03], [BGK+02] Daten exportieren (= Datenquelle) Sichten auf Daten zur Verfügung stellen (= Wrapper) Anfragen anderer Peers entgegennehmen und weiterleiten (= Mediator) Anfrage stellen Verknüpfungen nicht zwischen lokalen und globalem Schema, sondern zwischen Paaren von Peers. 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 45 Peer-Data-Management Systeme (PDMS) „einfaches“ Mapping Peer 3 Peer 5 Peer 1 ? Peer 4 Peer 2 8.11.2005 Peers können mehrere Rollen einnehmen: - Datenquelle - Mediator - Wrapper - Anfrager Felix Naumann, VL Informationsintegration, WS 05/06 46 Peer-Data-Management Systeme (PDMS) Peer 3 Peer 5 Peer 1 Peer 4 Peer 2 8.11.2005 Peers können selbst wiederum integrierte Informationssysteme sein. Felix Naumann, VL Informationsintegration, WS 05/06 47 PDMS Architektur (Piazza) Overlay Netzwerk aus „Peers“, verbunden über Internet Relationales oder XML Datenmodell Jeder Peer kann bereitstellen: Daten (materialisiert) Ein (oder mehr) Schemas Mappings Jeder Peer kann anbieten Anfragebearbeitung (für eigenes oder fremdes Schema) Materialisierung Metadaten zur Koordination 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 48 PDMS vs. P2P file sharing P2P Nur ganze Dateien (niedrige Granularität) Einfachste Anfragen PDMS Dateinamen Ausnahme: z.B. Napster für Musikdateien Hoch dynamisch Millionen Peers Datenübertragung direkt 8.11.2005 Objekte (hohe Granularität) Komplexe und Contentmanagement Anfragen Unvollständige Anfrageergebnisse Einfaches Schema Anfragesprache (SQL, etc.) Suche in Dateien: Nach Wörtern, Mustern… Vollständige Anfrageergebnisse (zumindest erwartet) Schema Annahme: Kontrollierte Dynamik Zig peers Datenübertragung entlang des Mapping-Pfads Felix Naumann, VL Informationsintegration, WS 05/06 49 PDMS Anwendungen Gesundheitsinformationssystem Krankenhausdaten auf vielen Systemen verteilt Ärzte wollen manche Daten verbreiten, andere nicht. Content-management-artige Suche ist wichtig. Verschiedenste und komplexe Schemata Mehrwert (für Patienten) durch Teilen der Daten Genomdaten Forscher haben den Willen (und die Pflicht), Daten weltweit zu veröffentlichen. Komplexe Schemata und komplexe Anfragen Bekannte Zusammenhänge zwischen den Daten Bildung eines globalen Schemas nicht immer einfach Automobil-Industrie Katastrophen-Management 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 50 Piazza – Beispiel 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 51 PDMS – Diskussion Vorteile Nutzer müssen nur eigenes Schema kennen. Dennoch sind alle Daten (über transitive Hülle der Mappings) verfügbar Neue Schemas können leicht und inkrementell hinzugefügt werden. Mapping nur zum ähnlichsten Schema nötig. Nachteile/Probleme Mappings zwischen Schemas nötig Mapping Komposition Effizienz (bei vielen Zwischenstationen) Effiziente Datenverteilung Read-only oder Updates? Außerdem: 8.11.2005 Aber: Mappings automatisch erstellen (Schema Matching) Verlust der Semantik Verlust an Informationsqualität, z.B. Vollständigkeit Felix Naumann, VL Informationsintegration, WS 05/06 52 Semantik in PDMS [Len04] Peer 2 Frau Peer 1 e e1 Elternteil Peer 4 Person disjunkt, vollständig Vater v Mutter v Peer 3 Mann v 8.11.2005 e e2 Felix Naumann, VL Informationsintegration, WS 05/06 Um diese Aussage zu treffen muss man Semantik des Peer 1 Schemas kennen! 53 Qualität in PDMS Ähnliche Probleme wie für zentral integrierte Systeme, jedoch potenziert. Schleichender Informationsverlust über mehrere Mappings Projektionen Selektionen 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 54 Unvollständige Mappings Anfrage Peer 1 Part Descr. Make Peer 2 Part Descr. Make Peer 3 Part Make Peer 4 Part Descr. Make Problem: Kumulierte Projektionen • in Schemata • in Mappings Peer 3 Part Descr. Make 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 55 Selektive Mappings Anfrage Peer 1 (ATU) Part Descr. Make = „Ford“ Peer 2 (Ford) Part Descr. Make Problem: Kumulierte Selektion • implizit in Schemata • explizit in Mappings • Punkt-Selektionen und Bereichs-Selektionen Peer 4 (Opel) Part Descr. Make = „Ford“ Peer 3 (Autohaus) Part Descr. Make 8.11.2005 (= „Opel“) Felix Naumann, VL Informationsintegration, WS 05/06 56 Literatur Mediator Wrapper Das erste paper: Weitere [Wie92] Mediators in the Architecture of Future Information Systems, Gio Wiederhold, IEEE Computer Journal, 25(3), 38-49, 1992 [Gar95] Michael J. Carey, Laura M. Haas, Peter M. Schwarz, Manish Arya, William F. Cody, Ronald Fagin, Myron Flickner, Allen Luniewski, Wayne Niblack, Dragutin Petkovic, Joachim Thomas II, John H. Williams, Edward L. Wimmers: Towards Heterogeneous Multimedia Information Systems: The Garlic Approach. RIDE-DOM 1995: 124-131 [JS03] Querying XML data sources in DB2: the XML Wrapper, Vanja Josifovski and Peter Schwarz, ICDE conference, Bangalore, India, 2003 [NJM03] Super-Fast XML Wrapper Generation in DB2 (demo), Felix Naumann, Vanja Josifivski, and Sabine Massmann, Proceedings of the International Conference on Data Engineering (ICDE 03), Bangalore, India, 2003. [TS97] Don‘t Scrap It, Wrap It! A Wrapper Architecture for Legacy Data Sources, Mary Tork Roth and Peter Schwarz, VLDB Conference 1997 Athens, Greece, 1997. PDMS [BGK+02] Philip A. Bernstein, Fausto Giunchiglia, Anastasios Kementsietsidis, John Mylopoulos, Luciano Serafini, Ilya Zaihrayeu: Data Management for Peer-to-Peer Computing : A Vision. WebDB 2002: 89-94 [ÖV91] & [ÖV99] Principles of Distributed Database Systems. M. Tamer Özsu, Patrick Valduriez, Prentice Hall, 1991/1999. [HIST03] Alon Y. Halevy, Zachary G. Ives, Dan Suciu, Igor Tatarinov. Schema 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. [NOTZ03] W.S.Ng, B.C. Ooi, K.L. Tan und A. Zhou: PeerDB: A P2P-based System for Distributed Data Sharing. ICDE 2003 [Len04] Maurizio Lenzerini: Quality-aware data integration in peer-to-peer systems. Invited talk at IQIS workshop, Paris, 2004. 8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 57