Datenbanksysteme I Informationsintegration 5.2.2007 Felix Naumann Integrierte Informationssysteme 2 Anfrage Integriertes Informationssystem Oracle, DB2… Dateisystem Web Service Anwendung HTML Form Integriertes Info.-system Felix Naumann | Datenbanksysteme I | WS 06/07 1 Synonyme 3 ■ Content Merging ■ Objekt Fusion ■ Datenintegration ■ Data Amalgamation ■ Data Cleansing ■ Intelligent Information Integration: I³ ■ Data Consolidation Felix Naumann | Datenbanksysteme I | WS 06/07 Was ist Informationsintegration? 4 ■ „Informationsintegration ist die Zusammenführung von Daten und Inhalt verschiedener Quellen zu einer einheitlichen Informationsmenge.“ ■ „Informationsintegration ist die korrekte, vollständige und effiziente Zusammenführung von Daten und Inhalt verschiedener, heterogener Quellen zu einer einheitlichen und strukturierten Informationsmenge zur effektiven Interpretation durch Nutzer und Anwendungen.“ Felix Naumann | Datenbanksysteme I | WS 06/07 2 Integration = Abstraktion 5 ■ Logisches DB-Design abstrahiert von physischem DB-Design □ Datenunabhängigkeit □ Anfragen: Prozedural vs. deklarativ ■ Informationsintegration abstrahiert von logischen DB Design □ Quellenunabhängigkeit (Speicherort) □ Datenmodell- und Syntaxunabhängigkeit □ Unabhängigkeit von semantischen Unterschieden (hoffentlich!) Felix Naumann | Datenbanksysteme I | WS 06/07 Anwendungsgebiet 1: Business [Halevy04] 6 Felix Naumann | Datenbanksysteme I | WS 06/07 3 Anwendungsgebiet 2: Wissenschaft [Halevy04] 7 Felix Naumann | Datenbanksysteme I | WS 06/07 Anwendungsgebiet 3: Das Web [Halevy04] 8 Felix Naumann | Datenbanksysteme I | WS 06/07 4 Informationsintegration: Ein altes Problem 9 ■ Seit 50 Jahren auf der Forschungsagenda ■ Frühe Systeme in den 70ern ■ Integration per Hand natürlich noch früher ■ Neue Probleme □ Viele, viele Quellen □ Heterogenität □ Neue Arten von Daten (XML, GIS, OO,...) □ Neue Arten von Anfragen (Search, UDFs,...) □ Neue Arten von Ergebnissen (Ranking, Visualisierung, ...) □ Neue Arten von Nutzern (Laien, Manager, Admins, ...) ■ Alon Halevy: „It‘s plain hard!“ [Halevy04] Felix Naumann | Datenbanksysteme I | WS 06/07 Warum ist es so schwer? [Halevy04] 10 ■ System-bedingte Gründe □ Verschiedene Plattformen □ Anfragebearbeitung über mehrere Systeme ■ Soziale Gründe □ Finden relevanter Daten in Unternehmen □ Beschaffen relevanter Daten in Unternehmen □ Menschen zur Zusammenarbeit überreden ■ Logik-bedingte Gründe □ Schema- und Datenheterogenität □ Dies ist unabhängig von der jeweiligen Integrationsarchitektur. Felix Naumann | Datenbanksysteme I | WS 06/07 5 Informationsintegration 11 <pub> <Titel> Federated Database Systems </Titel> <Autoren> <Autor> Amit Sheth </Autor> <Autor> James Larson </Autor> </Autoren> </pub> Web Service A <publication> <title> Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases </title> <auth> Scheth & Larson </auth> <year> 1990 </year> </publication> Web Service B Integration Identifikation Fusion Optimierung Visualisierung Felix Naumann | Datenbanksysteme I | WS 06/07 Beispiel – Web Service A 12 Web Service A ■ Standort: Trier ■ Operation: □ getPubByAuthor(firstName, lastName) □ getPubByTitle(title) ■ Output-Struktur: Felix Naumann | Datenbanksysteme I | WS 06/07 6 Beispiel – Web Service A Output 13 Felix Naumann | Datenbanksysteme I | WS 06/07 Beispiel – Web Service B 14 Web Service B ■ Standort: Humboldt-Universität ■ Operation: myPubs(Autor, Jahr) ■ Struktur: Felix Naumann | Datenbanksysteme I | WS 06/07 7 Beispiel – Web Service B Output 15 Felix Naumann | Datenbanksysteme I | WS 06/07 Integration von Web Services A & B 16 1. Nutzerschnittstelle 2. Schema Integration / Schema Mapping 3. Anfrage-Umwandlung 4. Zeit abschätzen (Optimierung) 5. Requests an beide Services abschicken 6. Antworten einholen 7. Objektidentifikation 8. Integrationsschritte 1. Konfliktlösung etc. 2. Entscheidung kleinster gemeinsamer Nenner? 3. Durchführung (deklarativ, prozedural) 9. Anzeige beim Nutzer Felix Naumann | Datenbanksysteme I | WS 06/07 8 Nutzerschnittstellen 17 Felix Naumann | Datenbanksysteme I | WS 06/07 Informationsintegration 18 Web Service A Web Service B <pub> <Titel> Federated Database Systems </Titel> <Autoren> <Autor> Amit Sheth </Autor> <Autor> James Larson </Autor> </Autoren> </pub> <publication> <title> Federated Database Systems for Managing Distributed, Heterogeneous, and Autonomous Databases </title> <auth> Scheth & Larson </auth> <year> 1990 </year> </publication> <pub> <Titel> </Titel> <Autoren> <Autor> </Autor> <Autor> </Autor> </Autoren> <year> </year> </pub> Schemaintegration Schema Mapping Modellierung durch eine Menge von Anfragen (Views) Felix Naumann | Datenbanksysteme I | WS 06/07 9 Anfrage Umwandlung 19 Integration der Anfrage durch Mediator: ■ Integrierte Schnittstelle ■ Z.B. Concat(First Name, Last Name) = Autor Felix Naumann | Datenbanksysteme I | WS 06/07 Anfrageoptimierung 20 ■ Was ist besser: Eine schnelle Antwort oder vollständige Antwort? □ Web Service A in Trier (remote) □ Web Service B in Adlershof (local) □ Web Service A hat mehr Attribute und mehr Objekte. □ Web Service B hat weniger Attribute. ■ Außerdem: □ Eine Suche nach „year“ kann nur durch Web Service B beantwortet werden. □ Transformationen können teuer sein. Felix Naumann | Datenbanksysteme I | WS 06/07 10 Zwei Resultate 21 Web Service A Web Service B Felix Naumann | Datenbanksysteme I | WS 06/07 Schema Matching 22 ? Felix Naumann | Datenbanksysteme I | WS 06/07 11 Objektidentifikation 23 Edit-distance: 5 Edit-distance: 6 Zusammen? Felix Naumann | Datenbanksysteme I | WS 06/07 Stand der Dinge 24 ■ Wir haben die heterogenen Informationen. ■ Wir wissen, was wir integrieren wollen. ■ Aber noch nicht wie: □ Integriertes Schema □ Integrierte Daten Felix Naumann | Datenbanksysteme I | WS 06/07 12 Angestrebtes Integrationsergebnis 25 + = Integriertes Schema: Felix Naumann | Datenbanksysteme I | WS 06/07 Angestrebtes Integrationsergebnis 26 Integrierte Daten: Felix Naumann | Datenbanksysteme I | WS 06/07 13 Integrierte Daten – was ist passiert? 27 Konfliktlösung NeuStrukturierung Vorher: „Naumann“ Neu Felix Naumann | Datenbanksysteme I | WS 06/07 Implementierung 28 ■ Auf Folien ist alles klar, aber wie implementieren? ■ Deklarativ? □ SQL, XQuery, XSLT □ Oft nicht alles möglich □ Langsam ■ Prozedural? □ Java, C++ □ Schlecht wartbar □ Schnell Felix Naumann | Datenbanksysteme I | WS 06/07 14 Anzeige beim Nutzer 29 Visualisierung der ■ Datenherkunft ■ Qualität ■ veränderten Daten ■ Operationen Vorher: „Naumann“ Konfliktlösung Felix Naumann | Datenbanksysteme I | WS 06/07 Integrierte Informationssysteme 30 Anfrage Design time Architekturen Anfragesprache Run time Integriertes Informationssystem Datenfusion / ETL Anfrageplanung Schemamanagement Optimierung Wrapper Anfrageausführung Oracle, DB2… Dateisystem Web Service Anwendung HTML Form Integriertes Info.-system Felix Naumann | Datenbanksysteme I | WS 06/07 15