informationsintegration mediator/wrapper-architektur & peer-data-management 8.11.2004 felix...

Post on 05-Apr-2015

109 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

InformationsintegrationMediator/Wrapper-Architektur &

Peer-Data-Management

8.11.2004

Felix Naumann

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 2

Ü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 3

Daten werden zu Informationen

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 4

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 5

AutonomeSysteme

Mediator-Wrapper Architektur

Quelle 1 Quelle 2 Quelle 3

Wrapper 1 Wrapper 2 Wrapper 3

Mediator

Anwendung 1 Anwendung 2

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 6

AutonomeSysteme

Mediator-Wrapper Architektur

Quelle 1 Quelle 2 Quelle 3

Wrapper 1 Wrapper 2 Wrapper 3

Mediator

Anwendung 1 Anwendung 2

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 7

Mediator-Wrapper Architektur

Quelle 1 Quelle 2 Quelle 3

Wrapper 1 Wrapper 2 Wrapper 3

Mediator

Anwendung 1 Anwendung 2Externe

Schemas

Föderiertes Schema

Export Schemas

Komponenten Schemas

Lokale Schemas

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 8

Mediator-Wrapper Architektur

Quelle 1 Quelle 2 Quelle 3

Wrapper 1 Wrapper 3

Mediator

Anwendung 1 Anwendung 2

Quelle 1 und Quelle 2 unterscheiden sich nur leicht, z.B. zwei Oracle Datenbanken mit identischen Schemas.

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 9

Mediator-Wrapper Architektur

Quelle 1 Quelle 2 Quelle 3

Wrapper 1 Wrapper 2 Wrapper 3

Mediator

Anwendung 1 Anwendung 2

MediatorMediatoren dienen als Quellen für andere Mediatoren. Stufenweise Added-Value.

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 10

Mediator-Wrapper Architektur

Quelle 1 Quelle 2 Quelle 3

Wrapper 1 Wrapper 2 Wrapper 3

Mediator

Anwendung 1 Anwendung 2

Mediator

Anwendung 3

etc....etc....Anwendungen können auch direkt mit Quellen kommunizieren.

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 11

Mediator-Wrapper Architektur

Quelle 1 Quelle 3 Quelle 4

Wrapper 1 Wrapper 2 Wrapper 3

Mediator

Anwendung 1 Anwendung 2

Mediator

Anwendung 3

Quelle 2

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 12

Ü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 13

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 14

Einfache Mediatoren

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 15

Integration mit Mediatoren

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 16

Funktionale Schichten

Real-worldinterface

Quellen-Zugriffinterface

Serviceinterface

Nutzerinterface

Mediation

Quellen-spezifischerCode

Domänen-spezifischerCode

Anwendungs-spezifischerCode

Mensch-MaschineInteraktion

Datenquelle

Wrapper

Anwendung

Nutzer

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 17

Schnittstellen

Mediation

Sensoren,Sachbearbeiter

Datenquellen Welt

SQL, XML Mediator Datenquellen

Web Services

Anwendung Mediator

X-Widgets,HTML, Java

Mensch Maschine

Datenquelle

Wrapper

Anwendung

Nutzer

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 18

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 19

Mehrwert durch Mediatoren

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 20

Dicke und Dünne Mediatoren

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 21

Ü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 22

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 23

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 24

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 25

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 26

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 GarlicGarlic

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 27

Garlic Wrapper Generierung

Vier Grund-Services1. Modellierung und Zugriff auf die Daten in der

Quelle

2. Aufruf von Methoden in der Quelle

3. Mithilfe bei der Anfrageplanung

4. Anfrageausführung

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 28

Garlic Wrapper Generierung

Quelle: [TS97]

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 29

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 30

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-read-

only 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 31

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 32

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 33

Beispiel: XML Wrapper für DB2 II nach [JS03]

On-line Anfragen gegen XML Daten aus externen Quellen Die Daten sind nicht in DB2 gespeichert

Relationale Abstraktion von XML Daten: 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 34

Beispiel: XML Wrapper für DB2

Kunden

Bestellungen

Posten

Zahlungen

XML Schema

KundenBestellungenPosten Zahlungen

Relationales Schema(virtuelle Tabellen, nicknames)

Shredding

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

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 37

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');

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');

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 38

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 39

Automatisiertes Wrappen

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 40

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 41

Forschungsprojekte

Carnot CoBase COIN Garlic Harvest

Information Discovery and Access System

HERMES Info*

Infomaster Information Manifold INFOSLEUTH OBSERVER SIMS SKC Tsimmis

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 42

Ü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 43

Wdh: Klassifikation von Informationssystemen nach [ÖV91]

Verteilung

Autonomie

Hetero-genität

Verteilte, homogene DBS

Logisch integrierte und homogene DBS

Heterogene, integrierte DBS

Heterogene, föderierte DBS

Homogene, föderierte DBS (MultiDBMS)

Verteilte, heterogene föderierte DBS(V.MDBMS)

Verteilte, föderierte DBS

Verteilte, heterogene DBS

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 44

Wdh: Erweiterung der Klassifikation nach [ÖV99]

Verteilung/Distribution

Autonomie

Hetero-genität

Peer-to-peer

Enge Integration

Client/server

Semi-autonom

Isolation

PDMSPDMS

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 45

PDMS – Idee

Idee: Peer Netzwerk (P2P) [HIST03], [HIMT03], [BGK+02]

Jeder Peer kann 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 46

Peer-Data-Management Systeme (PDMS)

Peer 1

Peer 2

Peer 4

Peer 3Peer 5

Peers können mehrere Rollen einnehmen:- Datenquelle- Mediator- Wrapper- Anfrager

??

„einfaches“Mapping

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 47

Peer-Data-Management Systeme (PDMS)

Peer 1

Peer 2

Peer 4

Peer 3Peer 5

Peers können selbst wiederum integrierte Informationssysteme sein.

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 48

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 49

PDMS vs. P2P file sharing P2P

Nur ganze Dateien (niedrige Granularität)

Einfachste Anfragen Dateinamen

Unvollständige Anfrageergebnisse

Einfaches Schema Ausnahme: z.B. Napster für

Musikdateien Hoch dynamisch Millionen Peers Datenübertragung direkt

PDMS Objekte (hohe Granularität) Komplexe und Content-

management Anfragen 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

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 50

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 51

Piazza – Beispiel

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 52

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 Aber: Mappings automatisch

erstellen (Schema Matching) Mapping Komposition Effizienz (bei vielen

Zwischenstationen) Effiziente Datenverteilung Read-only oder Updates? Außerdem:

Verlust der Semantik Verlust an

Informationsqualität, z.B. Vollständigkeit

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 53

Semantik in PDMS [Len04]

Peer 1

Peer 3

Peer 2

Peer 4

Elternteil

MutterVater

disjunkt, vollständig

Mann

Frau

Person

e

v

v

e1

e2

v e

Um diese Aussage zu treffen muss man Semantik des Peer 1 Schemas kennen!

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 54

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 55

Unvollständige Mappings

Peer 3

Peer 2 Peer 4

Peer 3

Peer 1

Part Descr. Make

Part Descr. Make

Part Make

Anfrage

Part Descr. Make

Part Descr. Make

Problem: Kumulierte Projektionen• in Schemata• in Mappings

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 56

Selektive Mappings

Peer 2 (Ford)

Peer 1 (ATU)

Part Descr. Make

Part Descr. Make

Anfrage

= „Ford“

Peer 3 (Autohaus)

Part Descr. Make

= „Ford“

Peer 4 (Opel)

Part Descr. Make

(= „Opel“)

Problem: Kumulierte Selektion• implizit in Schemata• explizit in Mappings• Punkt-Selektionen und Bereichs-Selektionen

8.11.2005 Felix Naumann, VL Informationsintegration, WS 05/06 57

Literatur Mediator Wrapper

Das erste paper: [Wie92] Mediators in the Architecture of Future Information Systems, Gio Wiederhold, IEEE Computer Journal, 25(3), 38-49,

1992 Weitere

[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.

top related