Integration – Mapping – Matching

Werbung
IF
S
ng rm
su nfo
e
l
i
r
Vo Bio 10
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
www.univie.ac.at
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
© 2010 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
© 2010 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
© 2010 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
© 2010 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
© 2010 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
© 2010 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
© 2010 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
© 2010 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
© 2010 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
© 2010 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)
© 2010 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
© 2010 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
‘
© 2010 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)
© 2010 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
© 2010 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
?
© 2010 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
© 2010 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):
=
© 2010 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):
© 2010 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
© 2010 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
Herunterladen