Informationsintegration Anwendungsszenarien 20.10.2004 Felix Naumann Überblick Beispiele der Informationsintegration Data Warehouse Föderierte Datenbanken Potential und Probleme der Informationsintegration Redundanz Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 2 Real-life Informationsintegration Überblick: Zwei wesentliche Modelle Data Warehouses Materialisierte Integration Am Beispiel Buchhändler (Folien von Prof. Leser) Föderierte Datenbanken Virtuelle Integration Am Beispiel einer Life Sciences DB (DiscoveryLink) Weitere Beispiele 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 3 Data Warehouse Eine oder mehrere (ähnliche) Datenbanken mit Bücherverkaufsinformationen Daten werden oft aktualisiert Jede Bestellung einzeln Katalog Updates täglich Management benötigt Entscheidungshilfen (decision support) Komplexe Anfragen Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 4 Bücher im Internet bestellen Backup Durchsat z Loadbalancing Portfolio Umsatz Werbung Zielkonflikt Daten bank Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 5 Die Datenbank dazu Bookgroup id name Year id year Month Id Month year_id Order Order_id Book_id amount single_price Book id Book_group_id Orders Day Id day month_id 20.10.2004 Id Day_id Customer_id Total_amt Customer id name Quelle: Ulf Leser, VL Data Warehouses Felix Naumann, VL Informationsintegration, WS 05/06 6 Fragen eines Marketingleiters Wie viele Bestellungen haben wir jeweils im Monat vor Weihnachten, aufgeschlüsselt nach Produktgruppen? Bookgroup id name Year id year Month Id Month year_id Order Order_id book_id amount single_price Book id Book_group_id Orders Day Id day month_id 20.10.2004 Id Day_id Customer_id Total_amt Customer id name Quelle: Ulf Leser, VL Data Warehouses Felix Naumann, VL Informationsintegration, WS 05/06 7 SELECT Y.year, PG.name, count(B.id) FROM year Y, month M, day D, order O, orders OS, book B, bookgroup BG WHERE M.year = Y.id and M.id = D.month and O.day_id = D.id and OS.order_id = O.id and B.id = O.book_id and B.book_group_id = BG.id and day < 24 and month = 12 GROUP BY Y.year, PG.product_name ORDER BY Y.year Technisch Year id year Month Id Month year_id Day Id day month_id 20.10.2004 Bookgroup id name Order Order_id Book_id amount single_price Orders Id Day_id Customer_id Total_amt Book id Book_group_id Customer id name Quelle: Ulf Leser, VL Data Warehouses Felix Naumann, VL Informationsintegration, WS 05/06 8 SELECT Y.year, PG.name, count(B.id) FROM year Y, month M, day D, order O, orders OS, book B, bookgroup BG WHERE M.year = Y.id and M.id = D.month and O.day_id = D.id and OS.order_id = O.id and B.id = O.book_id and B.book_group_id = BG.id and day < 24 and month = 12 GROUP BY Y.year, PG.product_name ORDER BY Y.year Technisch 6 Joins • Year: • • • • • • 10 Records Month: 120 Records Day: 3650 Records Orders: 36.000.000 Order: 72.000.000 Books: 200.000 Bookgroups: 100 Problem! • Schwierig zu optimieren (Join- Reihenfolge) • Je nach Ausführungsplan riesige Zwischenergebnisse • Ähnliche Anfragen – ähnlich riesige Zwischenergebnisse Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 9 In Wahrheit ... noch schlimmer Es gibt noch: Amazon.de Amazon.fr Amazon.it ... Verteilte Ausführung Count über Union mehrerer gleicher Anfragen in unterschiedlichen Datenbanken HILFE! Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 10 In Wahrheit ... Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 11 Technisch: Eine VIEW CREATE VIEW christmas AS SELECT FROM ... WHERE ... GROUP BY ORDER BY Y.year, PG.name, count(B.id) DE.year Y, DE.month M, DE.day D, DE.order O, M.year = Y.id and Y.year, PG.product_name Y.year UNION SELECT Y.year, PG.name, count(B.id) FROM EN.year Y, EN.month M, EN.day D, DE.order O, ... WHERE M.year = Y.id and SELECT year, name, count(B.id) ... FROM GROUP BY ORDER BY christmas year, name year Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 12 Probleme Count über Union über verteilte Datenbanken? Integrationsproblem Berechnung riesiger Zwischenergebnisse bei jeder Anfrage? Datenmengenproblem Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 13 Lösung des Integrationsproblems? Zentrale Datenbank • Aber Probleme: – Zweigstellen schreiben übers Netz – Schlechter Durchsatz – Lange Antwortzeiten im operativen Betrieb 20.10.2004 Quelle: Ulf Leser, VL Data Warehouses 14 Felix Naumann, VL Informationsintegration, WS 05/06 Lösung Datenmengenproblem? Denormalisierte Schema • Aber Probleme: – Jeder lesende / schreibende Zugriff erfolgt auf eine Tabelle mit 72 Mill. Records – Lange Antwortzeiten im operativen Betrieb 20.10.2004 Quelle: Ulf Leser, VL Data Warehouses 15 Felix Naumann, VL Informationsintegration, WS 05/06 Zielkonflikt 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 16 Tatsächliche Lösung Aufbau eines Data Warehouse • Redundante, transformierte Datenhaltung • Asynchrone Aktualisierung Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 17 Weitere Anwendungsgebiete: Data Warehouses „Customer Relationship Management“ (CRM) Identifikation von Premiumkunden Personalisierung / Automatische Kundenberatung Gezielte Massen-Mailings (Direktvertrieb) Controlling / Rechnungswesen Kostenstellen Organisationseinheiten Personalmanagement Logistik Flottenmanagement, Tracking Gesundheitswesen Studienüberwachung, Patiententracking Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 18 Überblick Beispiele der Informationsintegration Data Warehouse Föderierte Datenbanken Probleme und Potential der Informationsintegration Redundanz Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 19 Föderierte Datenbanken Mehrere autonome Informationsquellen Mit unterschiedlichsten Inhalten Gene, Proteine, BLAST, etc. Und unterschiedlichsten Schnittstellen HTML-Form, flat file, SQL, etc. Wissenschaftler (Biologe) benötigt z.B. möglichst viele Informationen über ein bestimmtes Protein Funktion, Veröffentlichungen, verwandte Proteine usw. Sehr komplexe Anfragen Üblicher Ansatz: Browsing, Note-Taking, Copy & Paste Föderierte Datenbanken (wie DiscoveryLink) helfen. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 20 Frage eines Biologen Finde alle menschlichen EST Sequenzen, die nach BLAST zu mindestens 60% über mindestens 50 Aminosäuren identisch sind mit mouse-channel Genen im Gewebe des zentralen Nervensystems. Quelle für das komplette Beispiel: A Practitioner’s Guide to Data Management and Data Integration in Bioinformatics, Barbara A. Eckman in Bioinformatics by Zoe Lacroix and Terence Critchlow, 2003, Morgan Kaufmann. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 21 Verschiedene Informationsquellen Beteiligte Informationsquellen Mouse Genome Database (MGD) @ Jackson Labs SwissProt @ EBI BLAST tool @ NCBI GenBank nucleotide sequence database @ NCBI Alle Quellen sind frei verfügbar 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 22 Herkömmlicher Ansatz: Browsing 1. Suche „channel“ Sequenzen im Gewebe des ZNS durch MGD HTML Formular 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 23 Herkömmlicher Ansatz: Browsing MGD Resultat 14 Gene aus 17 Experimenten 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 24 Herkömmlicher Ansatz: Browsing Details zu jedem der 14 Gene ansehen Durchschnittlich fünf SwissProt Links pro Gen 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 25 Herkömmlicher Ansatz: Browsing Betrachten jedes SwissProt Eintrages Durch Klick BLAST Algorithmus anwerfen 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 26 Herkömmlicher Ansatz: Browsing Betrachten jedes BLAST Resultats um nicht-menschliche Treffer zu eliminieren, andere Bedingungen zu prüfen (>60% Identität, etc.) 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 27 Herkömmlicher Ansatz: Browsing Für jeden verbleibenden Eintrag Komplette EST Sequenz bei GenBank holen 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 28 Idee der Integration Bildung eines globalen Schemas (Schemaintegration) Gespeichert als Datenbankschema in DiscoveryLink Generierung von Wrappern für jede Datenquelle Softwarekomponente Mapping von lokalen Schemata auf globales Schema Kennt Anfragefähigkeiten der Quellen 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 29 DiscoveryLink Architektur 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 30 Eigenschaften föderierter IS (und DiscoveryLink) Daten bleiben vor Ort. Informationsquellen sind autonom (und wissen oft nicht von ihrer Integration). Anfragen werden deklarativ an das globale Schema gestellt. Anfrage wird so verteilt wie möglich ausgeführt. Je nach Mächtigkeit der Quellen DiscoveryLink gleicht etwaige mangelnder Fähigkeiten aus. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 31 Föderierter DBMS Ansatz „Finde alle menschlichen EST Sequenzen, die nach BLAST zu mindestens 60% über mindestens 50 Aminosäuren identisch sind mit mouse-channel Genen im Gewebe des zentralen Nervensystems.“ „Einfache“ SQL-Anfrage um alle vorigen Schritte zu vereinen: SELECT FROM WHERE AND AND AND AND 20.10.2004 g.accnum,g.sequence genbank g, blast b, swissprot s, mgd m m.exp = “CNS” m.defn LIKE “%channel%” m.spid = s.id AND s.seq = b.query b.hit = g.accnum b.percentid > 60 AND b.alignlen > 50 Felix Naumann, VL Informationsintegration, WS 05/06 32 Föderierter DBMS Ansatz Effiziente Ausführung durch Optimierer Herkömmliche Optimierung Wrapper helfen mit Kostenmodell domänenspezifischen Funktionen Sichere Ausführung Wiederholbar Transaktional 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 33 Weitere Anwendungsgebiete: Föderierte Datenbanken Meta-Suchmaschinen Unternehmensfusionen Grid Krankenhausinformationssysteme Kundendatenbanken Personaldatenbanken Röntgenbilder Krankheitsverlauf (Akte) Verwaltung Krankenkasse... Verteiltes Arbeiten („groupware“) Peer Data Management und P2P 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 34 Überblick Beispiele der Informationsintegration Data Warehouse Föderierte Datenbanken Probleme und Potential der Informationsintegration Redundanz Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 35 Integrationspotential Wann ist Informationsintegration möglich? Wann ist Informationsintegration schwierig? Intensionale Redundanz Extensionale Redundanz Wann ist Informationsintegration nützlich? Extensionale Komplementierung Intensionale Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 36 Intension & Extension Definition: Intension Die Intension eines Informationssystems ist die Menge der Schemainformationen und deren Semantik (Bedeutung). Definition: Extension Die Extension eines Informationssystems ist die Menge aller zur Intension gehörigen, zugreifbaren Daten. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 37 Intension & Extension Die Intension einer Datenbank Schema für eine Menge von Entitäten/Dingen Semantik Die Extension einer Datenbank Buch ISBN Zustand Menge von Entitäten 20.10.2004 Titel Autor 3442727316 Moby Dick Herman Melville 3491960827 Robinson Daniel Crusoe Defoe 3462032283 Zwölf 3883891606 Timbuktu Paul Auster Felix Naumann, VL Informationsintegration, WS 05/06 Nick McDonell 38 Redundanz und Komplementierung Redundanz hilft zur Verifikation Nur bei gewisser Redundanz kann Komplementierung genutzt werden Komplementierung ist gut Hier liegt der eigentliche „Sinn“ der Informationsintegration. Informationen mehrerer (sich komplementierender) Quellen werden zu einem größeren Ganzen integriert. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 39 Intensionale Redundanz ISBN ISBN Titel Autor 3442727316 3442727316 Moby Dick 3491960827 3491960827 Robinson Daniel Defoe Crusoe 3462032283 3462032283 Zwölf 3883891606 3883891606 Timbuktu Paul Auster Herman Melville Nick McDonell Intensionale Redundanz liegt vor, wenn das Entfernen von Teilen der Intension die Gesamtintension nicht verändert. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 40 Intensionale Redundanz ISBN ID Titel Autor 3442727316 3442727316 Moby Dick 3491960827 3491960827 Robinson Daniel Defoe Crusoe 3462032283 3462032283 Zwölf 3883891606 3883891606 Timbuktu Paul Auster Herman Melville Nick McDonell Intensionale Redundanz trotz unterschiedlicher Label? Ja, denn Semantik zählt! 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 41 Intensionale Redundanz Quelle 1 Quelle 2 ISBN Autor ISBN Autor 3442727316 Herman Melville 3491960827 Daniel Defoe 3491960827 Daniel Defoe 3442727316 H Melville 3462032283 Nick McDonell 3462032283 Nick MacDonell 3883891606 Paul Auster 3883891606 Paul Auster Intensionale Redundanz auch über mehrere Relationen und Quellen. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 42 Potential Intensionaler Redundanz Quelle 1 Quelle 2 ISBN Autor 3442727316 ISBN Autor Herman Melville 3491960827 Daniel Defoe 3491960827 Daniel Defoe 3442727316 H Melville 3462032283 Nick McDonell 3462032283 Nick MacDonell 3883891606 Paul Auster 3883891606 Paul Auster Verifikation 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 43 Potential Intensionaler Redundanz Quelle 1 Quelle 2 ISBN Autor ISBN Titel 3442727316 Herman Melville 3491960827 Moby Dick 3491960827 Daniel Defoe 3442727316 Robinson Crusoe 3462032283 Nick McDonell 3462032283 Zwölf 3883891606 Paul Auster 3883891606 Timbuktu Integration 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 44 Potential Intensionaler Redundanz Quelle 1 + 2 ISBN Autor 3442727316 Herman Melville Moby Dick 3491960827 Daniel Defoe Robinson Crusoe 3462032283 Nick McDonell Zwölf 3883891606 Paul Auster Timbuktu Titel Integration 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 45 Intensionale Komplementierung Quelle 1 Quelle 2 ISBN Autor ISBN Titel 3442727316 Herman Melville 3442727316 Moby Dick 3491960827 Daniel Defoe 3491960827 Robinson Crusoe 3462032283 Zwölf 3883891606 Timbuktu 3462032283 3883891606 Nick McDonell Paul Auster Intensionale Komplementierung liegt vor, wenn von zwei Intensionen - mindestens eine Differenz ist nicht leer ist, - und deren Schnittmenge nicht leer ist. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 46 Potential Intensionaler Komplementierung Quelle 1 ISBN Autor 3442727316 Quelle 2 ISBN Titel Herman Melville 3462032283 Zwölf 3491960827 Daniel Defoe 3499139278 Leviathan 3462032283 Nick McDonell 3442727316 Moby Dick 3883891606 Paul Auster ??? 20.10.2004 ??? Verdichtung: Mehr Informationen über einzelne Objekte Felix Naumann, VL Informationsintegration, WS 05/06 47 Potential Intensionaler Komplementierung Quelle 1 Quelle 2 ISBN Autor Autor Titel 3442727316 Herman Melville MacDonell Zwölf 3491960827 Daniel Defoe Auster Leviathan H Melville Moby Dick 3462032283 3883891606 Nick McDonell ??? Paul Auster ??? 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 Verdichtung nicht immer leicht. 48 Extensionale Redundanz Quelle 1 Quelle 2 ISBN Autor ID Author 3442727316 Herman Melville 3442727316 Herman Melville 3491960827 Daniel Defoe 3491960827 Daniel Defoe Extensionale Redundanz liegt vor, wenn die Menge der von zwei Quellen gemeinsam repräsentierten Objekte nicht leer ist. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 49 Extensionale Redundanz Quelle 1 Quelle 2 ISBN Autor ID Author 3442727316 Herman Melville 3491960827 Daniel Defoe 3491960827 Daniel Defoe 3883891606 Paul Auster Extensionale Redundanz nur über Teile der Quellen. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 50 Probleme Extensionaler Redundanz Quelle 1 Quelle 2 ISBN Autor ID Author 3442727316 Herman Melville 3491960827 Daniel Düsentrieb 3491960827 Daniel Defoe 3883891606 Paul Auster Extensionale Redundanz DatenKonflikt Extensionale Redundanz ist nur auf „real-world“ Objekten definiert, nicht auf den Daten über sie. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 51 Extensionale Komplementierung Quelle 1 Quelle 2 ISBN Autor ISBN Autor 3442727316 Herman Melville 3462032283 Nick MacDonell 3491960827 Daniel Defoe 3883891606 Paul Auster Extensionale Komplementierung liegt vor, wenn die Differenz der repräsentierten Objekte zweier Quellen nicht leer ist. 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 52 Potential Extensionaler Komplementierung Quelle 1 + Quelle 2 ISBN Autor 3442727316 Herman Melville 3491960827 Daniel Defoe 3462032283 Nick MacDonell 3883891606 Paul Auster 20.10.2004 Höhere Überdeckung Felix Naumann, VL Informationsintegration, WS 05/06 53 Extensionaler Komplementierung mit Extensionaler Redundanz Quelle 1 Quelle 2 ISBN Autor ID Author 3442727316 Herman Melville 3491960827 Daniel Düsentrieb 3491960827 Daniel Defoe 3883891606 Paul Auster 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 54 Probleme Extensionaler Komplementierung und Redundanz Quelle 1 + Quelle 2 ISBN Autor 3442727316 Herman Melville 3491960827 Daniel Defoe 3491960827 Daniel Düsentrieb 3883891606 Paul Auster 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 Datenkonflikt 55 Der Allgemeine Fall Quelle 1 Quelle 2 A(V) a1 a2 B(W) C(X) D(Y) b1 c1 d1 b2 d2 A(V) a2 a3 D(W) E(X) d2 c2 d3 e3 Quelle 1 & 2 A(V) a1 a2 a3 20.10.2004 F(Z) f3 Intensionale Redundanz Extensionale Redundanz Extensionale Komplementierung Intensionale Komplementierung B/D(W) C/E(X) D(Y) F(Z) b1 c1 d1 f(b2,d2) c2 d2 d3 e3 f3 Felix Naumann, VL Informationsintegration, WS 05/06 56 Zusammenfassung Redundanz Intensionale Redundanz ermöglicht extensionale Komplementierung Extensionale Redundanz ermöglicht intensionale Komplementierung Zwei Quellen mit gleichem Schema können zu einer überdeckenderen Quelle integriert werden Coverage Zwei Quellen, die über gleiche Dinge sprechen können zu einer dichteren Quelle integriert werden. Density Insgesamt ist das Ziel der Integration eine vollständigere Quelle (completeness) 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 57 Zusammenfassung: Data Warehouse Aufbau eines Data Warehouse Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 58 Zusammenfassung: Föderierte DBMS/IS 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 59