IF S ng rm su nfo e l i r Vo Bio 11 r 0 de S 2 S in at ik Modul 4: Integration – Mapping – Matching Dr. Elisabeth Kapsammer a.Univ.-Prof. Dr. Werner Retschitzegger Quelle: Ulf Leser, Felix Naumann, Informationsintegration, dpunkt, 2006 IFS Johannes Kepler University Linz www.jku.ac.at Institute of Bioinformatics www.bioinf.jku.at Einführung I-Dimensionen I-Architekturen Mapping Matching Information Systems Group www.ifs.uni-linz.ac.at Integration – Mapping – Matching Inhalt Einführung z z Was ist Informationsintegration? Informationsintegration by Example Integrations-Dimensionen Integrations-Architekturen Mapping Matching © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-2 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Was ist Informationsintegration? Begriffe Content Merging Objekt Fusion Datenintegration Data Amalgamation Data Cleansing Intelligent Information Integration: I³ Data Consolidation Anfrage Integriertes Informationssystem Oracle, DB2… Dateisystem Web Service Anwendung HTML Form Integriertes Info.-system © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-3 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Was ist Informationsintegration? Integration = Abstraktion Logisches DB-Design abstrahiert von physischem DBDesign Æ Datenunabhängigkeit Informationsintegration abstrahiert vom logischen DB-Design mehrere Datenbanken bzw. allgemeiner – von mehrerer Datenquellen Æ Ortstransparenz Æ Verteilungstransparenz Æ Quellentransparenz Æ Schnittstellentransparenz Integriertes IFS schafft Transparenz Æ Datenmodelltransparenz Æ Schematransparenz © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-4 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Was ist Informationsintegration? Transparenzarten Ortstransparenz z z Benutzer müssen den Ort der integrierten Systeme nicht kennen Keine URLs, Datenbankpräfixe, … Verteilungstransparenz, Quellentransparenz Benutzer weiß nicht, welche Quelle für eine Anfrage benutzt werden kann (und muss daher nicht auswählen) z Benutzer weiß nicht, welche Quelle für eine Anfrage benutzt wurde (Datenherkunft) z Setzt ein globales Schema voraus z Schnittstellentransparenz Benutzer kennt verschiedene Quellen, aber kann sie alle gleich ansprechen z Keine Kenntnis lokaler Anfragesprachen, Protokolle, … z Datenmodelltransparenz Schematransparenz z Benutzer muss die verwendeten Datenmodelle nicht kennen Benutzer kennt die Schemata lokaler Quellen nicht Anfragen richten sich nur an das (homogene) globale Schema z Spezialfall der Verteilungstransparenz z z © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-5 Integration – Mapping – Matching Was ist Informationsintegration? Transparenz nicht immer gewollt Intuitiv strebt man maximale Transparenz an Benutzer kennen und lieben „ihre“ Datenquellen Datenherkunft ist wichtigstes Kriterium für Einschätzung der Qualität der Informationen z z Benutzer muss neues Schema lernen Globale Schemata können sehr kompliziert werden z z Gerade in der Bioinformatik! Zugriff über globales Schemas setzt dessen Kenntnis voraus z Tatsächlich ist das oft kontraproduktiv Da sie viele Quellen integrieren Für „kleine“ Zugriffe unnötig schwierig Transparenz bedingt Informationsverlust © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-6 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Was ist Informationsintegration? Definition Informationsintegration ist die Zusammenführung von Inhalten verschiedener Quellen zu einer einheitlichen Informationsmenge ... oder genauer ... Informationsintegration bezeichnet die z korrekte, vollständige und effiziente Zusammenführung von Daten und Inhalt z verschiedener, heterogener Quellen z zu einer einheitlichen und strukturierten Informationsmenge z zur effektiven Verwendung durch Benutzer und Anwendungen © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-7 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Was ist Informationsintegration? Ein uraltes Problem Seit 40 Jahren auf der Forschungsagenda Frühe Systeme in den 70ern z z Hartkodierte Transformationsregeln Fehleranfällig, teuer, unflexibel Neue Probleme z z z z z z Alo n [Ha Halev y lev y04 : „It‘ sp ] la Viele, viele Quellen Neue Arten von Daten (XML, GIS, OO,...) Neue Arten von Anfragen (Ranking, Spatial, Mining ...) Neue Arten von Nutzern (Laien, Manager, ...) Neue Anforderungen (24x7x365, schnell, Ad-Hoc, Online) Neue Anwendungen { { { { in h a rd ! Self-Service, eCommerce, eProcurement Integration über Unternehmensgrenzen hinweg – Supply Chain Management Strategische Unternehmensunterstützung Wissensmanagement © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-8 “ Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Was ist Informationsintegration? Anwendungsgebiet 1: Business © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-9 Integration – Mapping – Matching Was ist Informationsintegration? Anwendungsgebiet 2: Das Web © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-10 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Was ist Informationsintegration? Anwendungsgebiet 3: Life Sciences © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-11 Integration – Mapping – Matching Informationsintegration by Example Two Different Web Services Web Service A Standort z Linz Operations z z getPubByAuthor(firstName, lastName) getPubByTitle(title) Web Service B Standort z Output-Struktur: Output-Struktur: Hagenberg Operation z myPubs(Autor, Jahr) © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-12 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Informationsintegration by Example GUI Integration durch Mediator z Nimmt Anfrage und berechnet Ergebnis unter Zugriff auf Quellen © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-13 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Informationsintegration by Example Integrationsschritte Globale Anfrage Anfrageübersetzung, -optimierung und -ausführung Anfrageergebnis Integrationssystem Datenquelle 1 Ergebnisintegration Datenquelle 2 Datenquelle 3 © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-14 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Informationsintegration by Example Quellenauswahl Eine schnelle Antwort oder eine vollständige Antwort? Geschwindigkeit z z z Web Service A in Linz (lokal) Web Service B in Hagenberg (remote) Welches System ist schneller? Selektivität? Vollständigkeit z z z z Web Service A hat weniger Attribute, aber mehr Objekte Web Service B hat mehr Attribute, weniger Objekte, aber ist schneller Eine Suche nach „year“ kann nur durch Web Service B beantwortet werden, eine Suche nach Titel nur von A Nur Web Service A liefert alle Autoren pro Publikation getPubByAuthor(firstName, lastName) getPubByTitle(title) myPubs(Autor, Jahr) © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-15 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Informationsintegration by Example Zwei Resultate Web Service A Web Service B © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-16 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Informationsintegration by Example „Was ist was?“ – Schema Matching auf M2-Ebene ? © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-17 Integration – Mapping – Matching Informationsintegration by Example „Wer ist wer?“ – Objektidentifikation auf M1-Ebene © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-18 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Informationsintegration by Example Angestrebtes Integrationsergebnis 1/3 Web Service A: + Web Service B: Integriertes Schema (M2): = © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-19 Integration – Mapping – Matching Informationsintegration by Example Angestrebtes Integrationsergebnis 2/3 Integrierte Daten (M1): © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-20 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Informationsintegration by Example Angestrebtes Integrationsergebnis 3/3 Integrierte Daten – Was ist passiert? Konfliktlösung NeuStrukturierung Vorher: „Naumann“ Neu © 2011 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-21 Integration – Mapping – Matching Inhalt Einführung Integrations-Dimensionen z Einführung z Verteilung z Autonomie z Heterogenität Integrations-Architekturen Mapping Matching © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-22 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Einführung Drei Orthogonale Dimensionen Verteilte, heterogene föderierte DBS Verteilung Verteilte, homogene DBS Autonomie Logisch integrierte und homogene DBS Heterogenität [Öszu et al, 1999] © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-23 Integration – Mapping – Matching Einführung Zusammenhänge zwischen den Dimensionen Verteilung führt zu Autonomie Autonomie führt zu Heterogenität z z Gestaltungsfreiheit Unterschiedliche Entscheidungen Andere Administratoren, Benutzer, Anforderungen, Macht Schleichende Prozesse z Verantwortung liegt bei lokalen Administratoren z z Autonomie ist einerseits schlecht, aber meist unvermeidlich z z z 12 Quellen, eine Änderung pro Quelle pro Jahr => Eine Änderung pro Monat im Integrationssystem Besonders schlimm: Softwareentwickler { { { Das Recht, alles dauernd zu ändern „Not invented here“ Syndrom Wiederverwendung als ewiger Traum Im Web ist Autonomie eine treibende Kraft z Standards grenzen Autonomie ein, Marktplätze etc. © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-24 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Verteilung Ein verteiltes Informationssystem ist eine Sammlung mehrerer, logisch verknüpfter Informationssysteme, die über ein gemeinsames Netzwerk erreichbar sind Zwei Aspekte z z Physische Verteilung Logische Verteilung © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-25 Integration – Mapping – Matching Autonomie Der Grad, zu dem verschiedene DBMS unabhängig voneinander betrieben werden Bezieht sich auf z z z Meint nicht „Unabhängigkeit“ im Sinne von z z Kontrolle Weiterentwicklung Administration Stromversorgung Vernetzung … Klassen z z z nach [Öszu et al, 1999] Design-Autonomie Kommunikations-Autonomie Ausführungs-Autonomie © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-26 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Heterogenität 1/3 Zwei Informationssysteme sind heterogen, wenn sie sich „irgendwie“ unterscheiden Verschiedene Ausprägungen von „irgendwie“ Ô verschiedene Arten von Heterogenität Informationsintegration = Überbrückung von Heterogenität z z Realisierung eines homogenen Systems oder ... ... zumindest Erweckung des Anscheins eines solchen Anfrage Integriertes Informationssystem Oracle, DB2… Dateisystem Web Service Anwendung HTML Form Integriertes Info.-system Heterogenität zwischen Datenquellen Heterogenität zwischen globaler Sicht und Datenquellen Architekturabhängig! © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-27 Integration – Mapping – Matching Heterogenität 2/3 Technische Heterogenität Syntaktische Unterschiede z z Unterschiede in der Realisierung des Datenzugriffs Unterschiede in der syntaktischen Darstellung gleicher Sachverhalte Datenmodellheterogenität Strukturelle Heterogenität z z z Unterschiede in den verwendeten Datenmodellen Unterschiede in der strukturellen Darstellung gleicher Sachverhalte Spezialfall Schematische Heterogenität: Unterschiede in den verwendeten Datenmodell-Elementen Semantische Heterogenität z Unterschiede in der Bedeutung von Namen z Gleiches sagen, verschiedenes meinen (oder andersrum) { Schema und Daten © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-28 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Heterogenität 3/3 Heterogenitätsprobleme gelöst falls ... Technische Heterogenität z Das integrierte IFS kann eine Anfrage absetzen und kriegt „was“ zurück Syntaktische Unterschiede Datenmodellheterogenität z z Die Quelle liefert das „was“ im Datenmodell des integrierten IFS Strukturelle Heterogenität z In dem „was“ sind gleiche Dinge auch gleich dargestellt Die Quelle liefert das „was“ im Schema des integrierten IFS Semantische Heterogenität z z Die Quelle meint mit Begriffen dasselbe wie das integrierte IFS Gilt auf Schema- und Datenebene © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-29 Integration – Mapping – Matching Inhalt Einführung Integrations-Dimensionen Integrations-Architekturen z Entwicklung in den letzten 30 Jahren z Architekturen z Auswahlkriterien Mapping Matching © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-30 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Entwicklung in den letzten 30 Jahren 1/2 Zeit (1) Monolithische DB z Einzelner Rechner (2) Verteilte DB z Integration kaum heterogener Quellen auf mehreren Rechnern (3) Multi-DB z Integration heterogener Quellen auf Anfrageebene (4) Föderierte DB z Integration heterogener Quellen auf Schemaebene (5) Mediatorenbasiertes System z Verallgemeinerung der bisherigen Ansätze (6) Data Warehouse z Materialisierte Integration in zentraler Datenbasis (7) Peer-DB z Keine Unterscheidung mehr zwischen Datenquellen und integriertem IFS © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-31 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Entwicklung in den letzten 30 Jahren 2/2 Verteilung (2) Verteilte DB (4) Föderierte DB (7) Peer-DB (6) Data Warehouse (3) Multi-DB Autonomie (1) Monolithische DB Heterogenität (5) Mediatorenbasiertes System [ÖV91] © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-32 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (1) Monolithische DB Verteilung Autonomie Heterogenität „Normalfall“ – homogene, zentrale Datenbank Daten/Berechnung können trotzdem begrenzt verteilt sein z Filesystem: Partitionierung, RAID z Berechnung: Cluster z Parallele Datenbanken Datenbank entsteht aus homogenem Entwurf z Wenn Redundanz / Heterogenität, dann mit Absicht und kontrolliert z Problem: Weiterentwicklung (Evolution) Zentrale Kontrolle und Administration © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-33 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (2) Verteilte DB z Kontrollierte, a-priori Verteilung Existenz eines homogenen, verteilt realisierten Schemas durch Parallelisierung Höhere Ausfallsicherheit z Heterogenität Höhere Performanz z Autonomie Daten liegen physisch verteilt vor z Verteilung durch redundant ausgelegte Systeme (Replikation) 4-Schichten-Architektur Externes Schema 1 Knoten haben keine Autonomie Heterogenität wird unterdrückt Ortstransparenz z z z aber keine Verteilungstransparenz Aliase und Proxy kapseln entfernte Orte Verteilungstransparenz durch Sichten möglich, aber nicht durch System erzeugt ... Externes Schema N Globales Konzeptionelles Schema Lokales konzeptionelles Schema ... Lokales konzeptionelles Schema Lokales Internes Schema ... Lokales Internes Schema © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-34 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (3) Multi-DB Heterogenität z z z z Keine technische / DM-Heterogenität Schemata können strukturell und semantisch heterogen sein Nutzer kennen die jeweiligen Schemata Exportschema = nach außen sichtbare 4-Schichten-Architektur Teil des konzeptionellen Schemas Externes Schema 1 Aber Zugriff muss möglich sein (Kommunikationsautonomie) z z Oder Simulation durch Wrapper Anwendungen integrieren selbst Lose Kopplung Zugriff über Multi-DB-Sprachen z z z ... Externes Schema N Multi-DB-Sprache Zugriff über einheitliche Sprache z Autonomie Heterogenität Autonomie bleibt bewahrt z Verteilung Qualifizierung von Tabellennamen mit DB-Namen Ähnlich DB-Links Beispiel: SchemaSQL Lokales Exportschema Lokales Exportschema Lokales konzeptionelles Schema ... Lokales konzeptionelles Schema Lokales Internes Schema ... Lokales Internes Schema © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-35 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Verteilung (4) Föderierte DB Autonomie Heterogenität Verteilung ist nicht gewollt – notwendiges „Übel“ z 2 Alternativen für die Erstellung des globalen Schemas in einem „kanonischem Datenmodell“: z z Strukturelle und DM-Heterogenität Zusammenführung der Exportschemata („Schemaintegration“) Erstellung unabhängig von den lokalen Schemata („Schema Mapping“) Komponentenschemata überwinden Datenmodellheterogenität z 5-Schichten-Architektur Externes Schema 1 ... Externes Schema N Globales Konzeptionelles (Föderiertes) Schema Lokales Komponentenschema ... Lokales Komponentenschema Lokales Exportschema ... Lokales Exportschema Lokales konzeptionelles Schema ... Lokales konzeptionelles Schema ... Lokales Internes Schema M4-36 Verwenden das kanonische DM Lokales Internes © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme Schema (IFS) Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (5) Mediator-basiertes System Verallgemeinerung der bisherigen Architekturen – nur 2 Komponenten Wrapper als Zugriffsdienste z Zugriff auf Datenquellen – übersetzen der Anfragen z Überwinden Schnittstellen-, technische, DM und schematische Heterogenität z Datenquellen wissen u.U. nichts von von Integration – Autonomie Mediatoren als Mehrwertdienste z „Veredelung“ von Daten z Strukturelle und semantische Integration z Datenintegration z Verdichtung Verteilung Autonomie Heterogenität Mediator Externes Schema 1 ... Externes Schema N Globales Mediator-Schema Wrapper Wrapper Schema ... Wrapper Schema Lokales (Export) Schema ... Lokales (Export) Schema © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-37 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (5) Mediator-basiertes System Beispiel 1: XML-Wrapper – Oracle External Tables 1/2 An external table is a read-only table, whose z z SELECT * FROM oldemp It can be thought of as a relational view (a wrapper) over non-relational data (e.g., CSLs) z z metadata is stored in the DB data is stored outside the DB OLD EMP emp.dat used for running any SQL query against external data without requiring the external data first to be loaded into the DB It is the responsibility of the access driver and the external table layer (the mediator) z z to do the necessary transformations required on the data in the data file so that it matches the external table definition © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-38 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (5) Mediator-basiertes System Beispiel 1: XML-Wrapper – Oracle External Tables 2/2 CREATE TABLE oldemp ( fname char(25), lname CHAR(25)) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY emp_dir ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE NOBADFILE NOLOGFILE FIELDS TERMINATED BY ',' (fname POSITION ( 1:20) CHAR, lname POSITION (22:41) CHAR)) LOCATION ('emp.dat')) PARALLEL 5 REJECT LIMIT 200; Table created. CREATE DIRECTORY emp_dir AS '/emp_dir' ; emp.dat 10,jones,11-Dec-1934 20,smith,12-Jun-1972 © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-39 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (6) Data Warehouse Verteilung ... vs. Mediator – Datenfluss Autonomie Heterogenität Anwendung 1 Anwendung 2 Anwendung 1 Vollständig Pull Anwendung 2 Mediator Externes Schema 1 DataWarehouse ... Externes Schema N Globales Mediator-Schema Wrapper ETL ... ETL Lokales (Export) Schema ... Lokales (Export) Schema Wrapper Schema ... Wrapper Schema Lokales (Export) Schema ... Lokales (Export) Schema Größtenteils Push © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-40 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching (7) Peer-DB Grundidee: P2P mit SQL Jeder Peer kann z z z z z z Autonomie Heterogenität [HIST03], [HIMT03], [BGK+02], … Daten exportieren (= Datenquelle) Sichten auf Daten zur Verfügung stellen (= Wrapper) Anfragen anderer Peers entgegennehmen und weiterleiten (= Mediator) Mappings Selbst ein integriertes IFS sein Peer 3 Anfragen stellen (Benutzer) Peer 1 Peer 5 Verknüpfungen z z Verteilung nicht zwischen lokalen und globalem Schema, sondern zwischen Paaren von Peer-Schemata Kein globales Wissen vorhanden Peer 4 Peer 2 © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-41 Integration – Mapping – Matching Auswahlkriterien für Architekturen Auswahlkriterien sind nicht eindeutig bestimmten Architekturen zuordenbar z z Nicht jedes Kriterium ist für jede Architektur relevant Dennoch gibt es oftmals Tendenzen Die Auswahlkriterien sind meist nicht orthogonal zueinander z z z Z.B. ist für Schematransparenz ein integriertes Schema nötig Z.B. wird eine lose Kopplung stets durch Top-Down-Entwurf erreicht Orthogonale Kriterien: { { { Verteilung Autonomie Heterogenität © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-42 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Auswahlkriterien für Architekturen Übersicht (1) Strukturierungsgrad der Komponenten (2) Enge und lose Kopplung (3) Datenmodell (4) Art der semantischen Integration (5) Transparenz (6) Anfrage-Paradigma (7) Bottom-up oder Top-down Entwurf (8) Virtuell oder materialisiert (9) Read-only oder read-&-write © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-43 Integration – Mapping – Matching Inhalt Einführung Integrations-Dimensionen Integrations-Architekturen Mapping z z z z z z Einführung Strukturelle Heterogenität Kontext-Unabhängige Korrespondenzen Kontext-Abhängige Korrespondenzen Zusammenfassende Klassifikation von Mapping-Situationen Mapping Werkzeuge Matching © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-44 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Einführung Was ist Schema Mapping? Gegeben z z Strukturell heterogene Schemata Keine Datenmodellheterogenität * Potentieller Input für Schemaintegration Gesucht z Korrespondenzen* z Transformationscode { { { Abbildung von Quellschema RS auf Zielschema RT Zweck: Überführen der Instanzen von RS in Instanzen von RT Abfragen, Views, Datentransformationsregeln, etc. M1 RS.Person Vorname Nachname Mann Frau Korrespondenzen zwischen Schemakonstrukten M0 RS.Person RT.Student Name Geschlecht Transformationen für RT.Student Instanzen Vorname Nachname Mann Frau Axel Springer TRUE FALSE Tina Müller FALSE TRUE Mapping Name Axel Springer Tina Müller Geschlecht m w © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-45 Integration – Mapping – Matching Strukturelle Heterogenität Charakteristika Gleiche Konzepte der realen Welt in verschiedenen Schemata unterschiedlich ausdrücken z Aufteilung von Attributen / Tupeln auf Tabellen z Struktureller Zusammenhang – Beziehungen zwischen Schemakonzepten z Normalisierung vs. Denormalisierung { { Fremschlüssel vs. Schachtelung Grund für strukturelle Heterogenität z z z Verschiedene vertikale bzw. horizontale Partitionierungen Intensionale Überlappung „gleiche Konzepte der realen Welt“ Meist mit Semantischer Heterogenität verbunden (Teilmenge) Wichtiger Spezialfall: Schematische Heterogenität z z Verwendung unterschiedlicher Konstrukte eines Datenmodells Kann meist nicht durch Anfragesprachen überwunden werden © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-46 Integration – Mapping – Matching Matching I-Architekturen Integration Mapping I-Dimensionen Einführung Mapping Matching Strukturelle Heterogenität Korrespondenzen Wert- vs. Höherstufige Korrespondenzen Welche Werte eines / mehrerer Ziel-Schemakonstrukte werden aus welchen Werten eines /mehrerer Quell-Schemakonstrukte erzeugt z Z.B. relationale Attribute oder XML SimpleType-Elemente z Höherstufige Korrespondenzen überwinden schematische Heterogenität ∑ (Korrespondenzen + z Kontext-Abhängige vs. –unabhängige Korrespondenzen Transformationen)= Mapping Inwieweit werden strukturelle Zusammenhänge in Quell- und Wertkorrespondenzen Zielschema berücksichtigt z Gemeinsame(s) Relation/Element z Schachtelung z Integritätsbedingungen (FKs, etc.) In jedem Fall gerichtete “Pfeile” Kontext-Unabhängige Korrespondenzen Höherstufige korrespondenzen Kontext-Abhängige Korrespondenzen © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-47 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Unabhängige Korrespondenzen Beispiel für Wertkorrespondenzen und Höherstufige Höherstufige Korrespondenzen M1 RS.Person Vorname Nachname Mann Frau Wertkorrespondenzen RT.Student m w M0 RS.Person Name Geschlecht RT.Student Vorname Nachname Mann Frau Axel Springer TRUE FALSE Tina Müller FALSE TRUE Name Axel Springer Tina Müller Geschlecht m w select concat(Vorname,“ ”,Nachname) as Name, CASE WHEN Mann=‘TRUE” THEN ‘m’ ELSE ‘w’ END as Geschlecht from RS.Person; Transformation durch SELECT-Statement © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-48 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Unabhängige Korrespondenzen Beispiel für Höherstufige Relation vs. Attribut Attribut vs. Wert Relation vs. Wert Durchschnittliche Länge der Filme pro Filmkategorie © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-49 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Abhängige Korrespondenzen Beispiel 1: Normalisiert Æ Denormalisiert Article artPK title pages Author artFK name Was passiert? Publication pubID title date author 1. Versuch: UNION CREATE VIEW publication (…) AS SELECT artPK AS pubID title AS title null AS date null AS author FROM ARTICLE UNION SELECT null AS pubID null AS title null AS date name AS author FROM AUTHOR © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-50 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Abhängige Korrespondenzen Beispiel 1: Normalisiert Æ Denormalisiert Article Publication artPK title pages pubID title date author Author artFK name 2. Versuch: Natural Join Werden alle Daten transformiert? CREATE VIEW publication (…) AS SELECT artPK AS pubID title AS title null AS date name AS author FROM ARTICLE, AUTHOR WHERE ARTICLE.artPK = AUTHOR.artFK © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-51 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Abhängige Korrespondenzen Beispiel 1: Normalisiert Æ Denormalisiert Article artPK title pages Author artFK name Publication pubID title date author Schlüssel? 3. Versuch: Outer Join CREATE VIEW publication (…) AS SELECT artPK AS pubID title AS title null AS date name AS author FROM ARTICLE, AUTHOR WHERE ARTICLE.artPK LEFT OUTER JOIN AUTHOR.artFK © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-52 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Abhängige Korrespondenzen Beispiel 1: Normalisiert Æ Denormalisiert Article Publication artPK title pages pubID title date author Author artFK name 4. Versuch: Skolem Funktion CREATE SELECT FROM WHERE UNION SELECT FROM WHERE VIEW publication (…) AS artPK, title, null, name ARTICLE, AUTHOR ARTICLE.artPK LEFT OUTER JOIN AUTHOR.artFK skolem(name), null, null, name AUTHOR artFK IS NULL © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-53 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Abhängige Korrespondenzen Beispiel 1: Normalisiert Æ Denormalisiert Article artPK title pages Author artFK name Publication pubID title date author XQuery statt SQL-Views LET $doc0 := document(“articles.xml") RETURN <root> { distinct-values ( FOR $x0 IN $doc0/ARTICLE, $x1 IN $x0/AUTHOR RETURN <publication> <pubID> {$x0/artPK/text()} </pubID> <title> {$x0/title/text()} </title> <author> {$x1/name/text()} </author> </publication> ) } </root> © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-54 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Abhängige Korrespondenzen Beispiel 2: Denormalisiert Æ Normalisiert Publication pubID title date author Article artPK title pages CREATE VIEW article (…) AS SELECT SK(title,author) AS artPK title AS title null AS pages FROM PUBLICATION Author artFK name CREATE VIEW author (…) AS SELECT SK(title,author) AS artFK author AS name FROM PUBLICATION © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-55 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Kontext-Abhängige Korrespondenzen Beispiel 2: Denormalisiert Æ Normalisiert Publication PubID Title Date Author 4711 Informationsintegration 10/06 Leser 4712 Informationsintegration 10/06 Naumann 4713 DILS06 6/06 Leser Article ArtPK CREATE VIEW article (…) AS SELECT SK(title,author) AS artPK title AS title null AS pages FROM PUBLICATION Title Pages InformationsintegrationLeser Informationsintegration Null InformationsintegrationNaumann Informationsintegration Null DILS06Leser DILS06 null © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-56 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Kontext-Abhängige Korrespondenzen Beispiel 2: Denormalisiert Æ Normalisiert Publication pubID title date author Article artPK title pages CREATE VIEW article (…) AS SELECT DISTINCT SK(title) AS artPK title AS title null AS pages FROM PUBLICATION Author artFK name CREATE VIEW author (…) AS SELECT SK(title) AS artFK author AS name FROM PUBLICATION © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-57 Integration – Mapping – Matching Kontext-Abhängige Korrespondenzen Beispiel 2: Denormalisiert Æ Normalisiert Publication XQuery statt SQL-Views pubID title date author LET $doc0 := document(“publication.xml") RETURN <articles> { distinct-values ( FOR $x0 IN $doc0/publication RETURN <ARTICLE> <title>{$x0/title/text()}</title> { distinct-values ( FOR $x1 IN $doc0/publication WHERE $x0/title/text() = $x1/title/text() RETURN <AUTHOR> <name>{$x1/author/text()}</name> </AUTHOR> )} </ARTICLE> )} © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) </articles> Article artPK title pages Author artFK name M4-58 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Korrespondenzen Zusammenfassendes Beispiel Struktureller Zusammenhang im Zielschema (Schachtelung) Quellschema Zielschema root [1, 1] Teams [1, 1] Team [0, *] ID:VARCHAR [1, 1] Team [0, *] TeamName:VARCHAR (10) [1, 1] ID:integer [1, 1] TeamURL:VARCHAR (100) [0, 1] TeamName:string [1, 1] Person [0, *] TeamURL:string [1, 1] ID:VARCHAR [1, 1] Person [0, *] Vorname:VARCHAR (10) [1, 1] ID:integer [1, 1] extract() Nachname:VARCHAR (10) [1, 1] Titel: string [0,1] concat() Adresse Name:string [1, 1] GebDatum:date [0, 1] TeamFK:INTEGER [1, 1] Struktureller Zusammenhang im Quellschema (FK) Verschiedene Datentypen Verschiedene Kollektions-Kardinalitäten M:n Korrespondenz-Kardinalität Nicht-gemappte Attribute © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching Folie: Frank LeglerM4-59 Integration – Mapping – Matching Korrespondenzen Aufgetretene Schwierigkeiten Erfinden von Schlüsseln z Skolemfunktionen Attributkorrespondenzen verraten nicht, wie Relationen innerhalb eines Schemas zusammenhängen z z z Nicht nur Join-Werte raten Auch die Art des Joins selber raten Bei XML: Schachtelung bestimmt den „Join“ Beachtung von Integritätsbedingungen Gruppierungen … © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-60 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Korrespondenzen Klassfikation von Mapping Situationen Mapping Situationen Einzelne Korrespondenz Fehlende Korrespondenz Quellkonzept Zielkonzept ohne ohne Korrespondenz Korrespondenz PK, UNIQUE 1:1 n:1, 1:n, m:n NOT NULL Zusammenhang in Quelle FK Wert- vs. Höherstufige Datentyp FK Mehrere Korrespondenzen (Kollektionskardinalität) Zusammenhang in Ziel Kein (Schachtelung) Fkt. zur Extraktion bzw. Verknüpfung Zusammenhang in Quelle und Ziel Optional Quelle: Legler, F., Naumann, F., A Classification of Schema Mappings and Analysis of Mapping Tools, BTW März, 2007 ( ) ... Nur in DM mit Schachtelungskonzepten ... Kontextabhängige Korrespondenzen ... Lokale Kardinalitäten © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-61 Integration – Mapping – Matching Mapping-Werkzeuge IBM‘s Clio http://www.almaden.ibm.com/cs/projects/criollo/ http://www.altova.com/products/mapforce/data_mapping.html © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-62 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Mapping-Werkzeuge Microsoft‘s Biztalk Mapper © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-63 Integration – Mapping – Matching Mapping-Werkzeuge Altova‘s Mapforce http://www.altova.com/products/mapforce/data_mapping.html © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-64 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Inhalt Einführung Integrations-Dimensionen Integrations-Architekturen Mapping Matching z z z z Einführung Matching-Ansätze COMA++ Werkzeuge und Benchmarktests © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-65 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Einführung Was ist Schema Matching? Automatische Bestimmung von Korrespondenzen zwischen semantisch äquivalenten Schemakonstrukten z z Zwei Schemaelemente haben “etwas miteinander zu tun” Mit einer bestimmten Wahrscheinlichkeit (Konfidenz) Vorgeschlagene “Pfeile” zwischen Schemakonstrukten die von Domänexperten verifiziert werden müssen auf Basis von z Schemadaten { { { z z Namen von Elementen Struktur der Schemata IBs der Schemata RS.Person Vorname Nachname Mann Frau Instanzdaten Zusatzinformationen wie Thesaurus, etc. .88 .88 .63 .63 RT.Student Name Geschlecht Bestandteile eines Matching-Ansatzes z z Geeignetes Ähnlichkeitsmaß Schwellwert der angibt, ab wann hinreichende Ähnlichkeit besteht © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-66 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Einführung Schema Matching ist „Ubiquitär“ Datenbanken Datenintegration / -austausch Schema/Sicht-Integration – “Schema-Autocomplete-Funktion” z Aufbau eines Data Wareouse z z AI z z Ontologie-Merging Information Gathering Agents Web e-commerce Semantic Web z Web Service Interfaces z z Model Management Model Merging Model Differencing z Model Composition z z © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-67 Integration – Mapping – Matching Einführung Probleme beim Matching 1/2 Große Schemata z z Unübersichtliche Schemata z z z z Man beachte die Scrollbar! Tiefe Schachtelungen Integritätsbedingungen Bildschirm nicht breit genug XML Schema Fremde Schemata z > 100 Entitäten, viele Attribute Bildschirm nicht lang genug Unbekannte Synonyme Man beachte die Schachtelungstiefe! Fremdsprachige Schemata Irreführende Schemata z Unbekannte Homonyme © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-68 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching Einführung Probleme beim Matching 2/2 Kryptische Schemata Schema / Daten drücken selten vollständige Semantik aus z z z |Attributnamen| ≤ 8 Zeichen, |Tabellennamen| ≤ 8 Zeichen Meist nicht adäquat dokumentiert – “schema creator has retired to Florida” Oft nur Hinweise in Schema/Daten – Namen, Strukturen, Typen, Werte, … Subjektive intendierte Semantik z z house-style = house-description? military applications require committees to decide! Falsche Korrespondenzen „false positives“ Fehlende Korrespondenzen „false negatives“ Frustration – Benutzer verlieren sich im Schema Matching kann NIEMALS vollständig automatisiert werden – Benutzer-Feedback notwendig! © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-69 Integration – Mapping – Matching Einführung State of the Art Viele aktuelle Forschungsprojekte in verschiedenen Communities z z Schema Matching Ontology Matching Aber: Matching Qualität bei grossen Schemata inakzeptabel z z z DB: AI / Semantic Web: Grössere Wahrscheinlichkeit für falsche Matches Ausführungszeit – Skalierbarkeit Ansätze meist nur geeignet für < 50 Elemente, einfache Typen, geringe Schachtelungstiefe Detaillierte „Modellierung“ der Eigenschaften von Schemata nötig z Z.B. W3C XML Schema – verteilte Schemata und Namespaces, benutzerdefinierte Typen, alternative Design-Stile Kontext-bezogenes matching gemeinsamer Schema-Komponenten nicht berücksichtigt GUI-Konzepte für matching grosser Schemata nicht vorhanden Kernproblem: Finden semantischer Korrespondenzen z z Grossteils manuell, aufwendig und fehlerbehaftet Datenintegration bei GTE [Li&Clifton, 2000]: 40 DB, 27000 Schemaelemente, geschätzter Zeitaufwand: 12 years Verschlechterung der Lage wahrscheinlich z z Data sharing ist ubiquitär Legacy Daten © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-70 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Matching-Ansätze Klassifikation Matching-Ansätze Individuelle Ansätze Schemaebene Kombinierte Ansätze Instanzebene Struktur Element MappingMappingSituationen Situationen Element Hybrid Struktur Zusammengesetzt Manuell • Schachtelung • FKs Automatisch Linguistisch • Namen • Beschreibungen • ... ConstraintBasiert • Datentypen • PKs • ... Linguistisch Constraint-basiert • Schlüsselwort • Wort-Häufigkeiten • ... • Wertmuster und -bereiche • ... [DHH05] Wiederverwendung Schema-basiert (Namespaces, Schema Libraries, ...) Mapping-basiert (Thesauri, Frühere Match-Resultate, ...) © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-71 Integration – Mapping – Matching Matching-Ansätze Schemaebene Linguistisch – Ähnlichkeitsmaße für Schemakonstrukt-Namen Namensgleichheit (inkl. Namespace in XML) Gleichheit nach Normalisierung (z.B. Übersetzung in einheitliche Sprache – Englisch, oder Wortstamm ermitteln – „stemming“) z Synomie (Thesaurus) z Hyperonymie (Thesaurus mit ISA-Beziehungen) z Namensähnlichkeit auf Basis der „Edit-Distance“ z z { { z n-Gram (z.B. n=3 / Trigram) { { Distanz entspricht Anzahl notwendiger Einfüge-, Lösch- bzw. Änderungsschritte auf Zeichen bezogen auf maximale Stringlänge Ähnlichkeit: 1 – Distanz Bestimme alle Zeichensequenzen der Länge n (n-grams) Ähnlichkeit entspricht dem Anteil übereinstimmender n-grams Struktur-basiert z z Arten der Schemakonstrukte (Attribut, Relation, Element, etc.) Struktureller Zusammenhang zwischen den Schemakonstrukten (Hierarchieebenen, Nachbarschaftsbeziehungen, FKs, etc.) © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-72 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Matching-Ansätze Instanzebene Vorgangsweise z Für jedes Schemakonstrukt das Daten speichern kann (Attribute, Elemente) extrahiere interessante Eigenschaften der Daten z Bilde Kreuzprodukt aller Schemakonstrukte aus A und B Für jedes Paar vergleiche Ähnlichkeit bzgl. der Eigenschaften { z Buchstabenverteilung, Länge, etc. Probleme z z z z Auswahl der Eigenschaften Datenmenge: Sampling Vergleichsmethode, z.B. Naive Bayes Gewichtung (Maschinelles Lernen) © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-73 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Matching-Ansätze Kombiniertes Schema Matching Verschiedene Techniken für verschiedene Situationen geeignet Die meisten Forschungsprototypen sind kombinierte Matcher Hybride Matcher z z Ergebnisse eines Matchers sind Input eines anderen Beispiel: Instanzbasiertes Verfahren nur auf Attributpaare mit gleichen o. ähnlichen Namen anwenden Zusammengesetzte Matcher Voneinander unabhängige Anwendung verschiedener Matcher Danach Kombination der Ergebnisse (gewichtete Summe oder Durchschnitt) und Auswahl (Schwellwert) z Ergebnisse indivdueller Matcher können gewichtet werden z Hinzufügen neuer Matcher einfach möglich z z Schema A BasisMatcher 1 Schema B Schema C BasisMatcher 2 Schema D BasisMatcher 3 MatchKombination MatchAuswahl © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Matching M4-74 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching COMA++ – Combining Match Algorithms Entwickelt an der Uni Leipzig Kombinierter Matcher z [DHH05] flexible Konfiguration mit existierenden Matching-Techniken Unterstützt XML, RDB-Schemata und OWL-Ontologien Match-Strategien für große Schemata z z Fragment-basiert Wiederverwendung vorhandener Match-Ergebnisse http://dbs.uni-leipzig.de/en/Research/coma.html © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-75 Integration – Mapping – Matching COMA++ Matcher Library © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-76 Einführung I-Dimensionen I-Architekturen Mapping Matching Integration – Mapping – Matching COMA++ Beispiel – Taxonomie-Matcher Taxonomie als Referenz Ähnlichkeit zweier Schema-Elemente Ô Kombination aus z sim(m,t) { z lexikalischen Ähnlichkeiten der Schemakonstrukte (m) mit der Taxonomie (t) tsim(t,t) { semantische Ähnlichkeit durch Distanz der Begriffe innerhalb der Taxonomie (verschiedene Heuristiken denkbar) © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Einführung I-Dimensionen I-Architekturen Mapping Matching M4-77 Integration – Mapping – Matching Matching-Ansätze Benchmarks und Matching Tool Vergleich 1/2 Gegeben z z Heterogene Schemata, Daten & richtige Korrespondenzen Metrik zur Bewertung der Lösungen Beispiel 1: THALIA Test Harness for the Assessment of Legacy information Integration Approaches z 40 downloadable data sources representing University course catalogs from computer science departments around the world z http://www.cise.ufl.edu/research/dbintegrate/thalia z Beispiel 2: OAEI Ontology Alignment Evaluation Initiative Yearly evaluation events (Workshops at ISWC conference) z http://oaei.ontologymatching.org z z Beispiel 3: BIG TU Wien Comparison of Structural Modeling Languages (UML, ER, Ecore, WebML) on basis of matching tools z http://128.131.167.27/onto-match/index.php/Main_Page z © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M4-78 Integration – Mapping – Matching Einführung I-Dimensionen I-Architekturen Mapping Matching Matching-Ansätze Benchmarks und Matching Tool Vergleich 2/2 Schema-basiert + Instanz-basiert OntologieMatcher [DHH05]M4-79 © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) Integration – Mapping – Matching Big Picture – Integration, Mapping, Matching Bottom-up / Top-down Entwurf Bottom-up Entwurf Globale Anwendung ... Globale Anwendung Top-down Entwurf Globaler Informationsbedarf Anwendungsentwicklung Schemaentwurf Integriertes Schema Globales Schema Schemaintegration Schema Mapping Lokales Exportschema ... Lokales Exportschema Lokales Exportschema ... Lokales Exportschema (1) Korrespondenzen zwischen lokalen Schemata finden (2) Integriertes Schema ableiten © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M3-80 Integration – Mapping – Matching Big Picture – Integration, Mapping, Matching Schema-basiert (DB) Anfrageverarbeitung • Anfrageplanung • Dekomposition • Übersetzung • Ergebnisintegration InformationsIntegration Schema Integration Integriertes Schema IS=Merge(S1,S2,map) M1 Schema 2 Schema Matching Datenbank 2 Schema Mapping Korrespondenzen Schema 1 Map=Match(S1,S2) M0 Datenbank 1 Transformationsregeln More Model Management Operators: • Map3=Compose(map1,map2) etc. Informationssysteme [MRB03] (IFS) © 2010 JKU Linz, Institut • fürS3=Diff(S1,map) Bioinformatik, Arbeitsgruppe M3-81 Integration – Mapping – Matching Big Picture – Integration, Mapping, Matching Metamodell-basiert (MDE) MetaMetaModel M3 M2 MetaModel 1 Korrespondenzen MetaModel 2 M1 Schema 1 Korrespondenzen Schema 2 Schema 4 Schema 3 M0 Datenbank 1 Transformationsregeln Datenbank 2 © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M3-82 Integration – Mapping – Matching Literatur Integration [BGK+02] [BKLW99] [BLN86] [BLP00] [Con05] [Con97] [FKMP03] [Gar95] [HIMT03] [HIST03] [HM85] [JS03] [LENA06] [LMR90] [MRB03] [ÖV99] [Sch98] [SPD92] [SL90] [TS97] [Wie92] Bernstein, Giunchiglia, Kementsietsidis, Mylopoulos, Serafini, Zaihrayeu: Data Management for Peer-to-Peer Computing : A Vision. WebDB 2002: 89-94 Busse, Kutsche, Leser, Weber, Federated Information Systems: Concepts, Terminology and Architectures. Forschungsbericht 99-9 des FB Informatik der TU Berlin, 1999. Batini, C., Lenzerini, M. and Navathe, S. B. (1986). "A Comparative Analysis of Methodologies for Database Schema Integration." ACM Computing Surveys 18(4): 323-364. Bernstein, P. A., Levy, A. Y. and Pottinger, R. A. (2000). "A Vision of Management of Complex Models." SIGMOD Record 29(4): 55-63. Conrad et al.: „Enterprise Application Integration“, Spektrum-Verlag, 2006 Conrad, S. (1997). "Föderierte Datenbanksysteme: Konzepte der Datenintegration". Berlin, Springer-Verlag. Fagin, R., Kolaitis, P. G., Miller, R. J. and Popa, L. (2003). "Data Exchange: Semantics and Query Answering". 9th International Conference on Database Theory, Siena, Italy. pp 207-224. Carey, Haas, Schwarz, et al. : Towards Heterogeneous Multimedia Information Systems: The Garlic Approach. RIDE-DOM 1995: 124-131 Halevy, Ives, Mork, Tatarinov. Peer Data Management Systems: Infrastructure for the Semantic Web. WWW Conference, 2003 Halevy, Ives, Suciu, Tatarinov. Schema Mediation in Peer Data Management Systems, ICDE conference 2003 Dennis Heimbigner, Dennis McLeod: A Federated Architecture for Information Management. ACM Trans. Inf. Syst. 3(3): 253-278 (1985) Querying XML data sources in DB2: the XML Wrapper, Vanja Josifovski and Peter Schwarz, ICDE conference, Bangalore, India, 2003 Ulf Leser, Felix Naumann: „Informationsintegration“, dpunkt.verlag, Oktober 2006 W. Litwin, L. Mark, N. Roussoupoulos, Interoperability of Multiple Autonomous Databases, ACM Computing Surveys, Vol. 22(3), pp267-293, 1990. Melnik, S., E. Rahm, P. A. Bernstein, "Rondo: A Programming Platform for Generic Model Management," Proc. SIGMOD 2003, pp. 193-204. Principles of Distributed Database Systems M. Tamer Özsu, Patrick Valduriez, Prentice Hall, (1991/)1999. Schmitt, I. (1998). "Schemaintegration fuer den Entwurf föderierter Datenbanken". Sankt Augustin, Infix Verlag. Spaccapietra, S., Parent, C. and Dupont, Y. (1992). "Model Independent Assertions for Integration of Heterogeneous Schemas." The VLDB Journal 1(1): 81-126. Amit P. Sheth and James A. Larson, Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases, ACM Computing Surveys, Vol. 22(3), 1990. 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. Mediators in the Architecture of Future Information Systems, Gio Wiederhold, IEEE Computer Journal, 25(3), 3849, 1992 © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M3-83 Integration – Mapping – Matching Literatur Mapping & Matching Mapping [FHP02] Ron Fagin, Mauricio Hernandez, Lucian Popa, Renee Miller, and Yannis Velegrakis(2002). „Translating Web Data“, VLDB 2002, Hong Kong, China. [MHH00]Miller, R. J., Haas, L. M. and Hernandez, M. A. (2000). "Schema Mapping as Query Discovery". VLDB 2000, Cairo, Egypt. [MHH01] Miller, R. J., Hernandez, M. A., Haas, L. M., Yan, L., Ho, H., Fagin, R. and Popa, L. (2001). "The Clio Project: Managing Heterogeneity." SIGMOD Record 30(1): 7883. Matching [DHH05]Do Hong Hai, Schema Matching and Mapping-based Data Integration, PhD-Thesis, University of Leipzig, August 2005 [MH03] Jayant Madhavan, Alon Y. Halevy: Composing Mappings Among Data Sources. VLDB 2003. [MBR01] Jayant Madhavan, Philip A. Bernstein, Erhard Rahm, Generic Schema Matching with Cupid, In Proc 27th VLDB Conference Rom 2001 [MGMR02] Sergey Melnik, Hector Garcia-Molina, Erhard Rahm: Similarity Flooding: A Versatile Graph Matching Algorithm and Its Application to Schema Matching. ICDE 2002: 117-128 [RB01] Erhard Rahm and Philip Bernstein, A survey of approaches to automatic schema matching, VLDB Journal 10(4), 2001. http://www.ontologymatching.org http://oaei.ontologymatching.org © 2010 JKU Linz, Institut für Bioinformatik, Arbeitsgruppe Informationssysteme (IFS) M3-84