Informationsintegration Anwendungsszenarien 20.10.2004 Felix Naumann Überblick z Beispiele der Informationsintegration z z z Data Warehouse Föderierte Datenbanken Potential und Probleme der Informationsintegration z z Redundanz Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 2 1 Real-life Informationsintegration z Überblick: Zwei wesentliche Modelle z Data Warehouses z z z Materialisierte Integration Am Beispiel Buchhändler (Folien von Prof. Leser) Föderierte Datenbanken z z z Virtuelle Integration Am Beispiel einer Life Sciences DB (DiscoveryLink) Weitere Beispiele 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 3 Data Warehouse z z Eine oder mehrere (ähnliche) Datenbanken mit Bücherverkaufsinformationen Daten werden oft aktualisiert z z z z 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 2 Bücher im Internet bestellen Backup Durchsatz 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 Year id year Month Id Month year_id Day Id day month_id 20.10.2004 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 6 3 Fragen eines Marketingleiters Wie viele Bestellungen haben wir jeweils im Monat vor Weihnachten, aufgeschlüsselt nach Produktgruppen? Bookgroup id name Year id year Order Order_id book_id amount single_price Month Id Month year_id Orders Id Day_id Customer_id Total_amt Day Id day month_id 20.10.2004 Book id Book_group_id 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) Technisch FROM year Y, month M, day D, order O, orders OS, book B, bookgroup BG 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 WHERE Bookgroup id name Year id year Month Id Month year_id Day Id day month_id 20.10.2004 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 4 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 (JoinReihenfolge) • 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 z Es gibt noch: z z z z z Amazon.de Amazon.fr Amazon.it ... Verteilte Ausführung z 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 5 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 6 Probleme z Count über Union über verteilte Datenbanken? z z Integrationsproblem Berechnung riesiger Zwischenergebnisse bei jeder Anfrage? z 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 7 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 8 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 z z z z „Customer Relationship Management“ (CRM) z Identifikation von Premiumkunden z Personalisierung / Automatische Kundenberatung z Gezielte Massen-Mailings (Direktvertrieb) Controlling / Rechnungswesen z Kostenstellen z Organisationseinheiten z Personalmanagement Logistik z Flottenmanagement, Tracking Gesundheitswesen z Studienüberwachung, Patiententracking Quelle: Ulf Leser, VL Data Warehouses 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 18 9 Überblick z Beispiele der Informationsintegration z z z Data Warehouse Föderierte Datenbanken Probleme und Potential der Informationsintegration z z Redundanz Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 19 Föderierte Datenbanken z z z z z z z Mehrere autonome Informationsquellen Mit unterschiedlichsten Inhalten z Gene, Proteine, BLAST, etc. Und unterschiedlichsten Schnittstellen z HTML-Form, flat file, SQL, etc. Wissenschaftler (Biologe) benötigt z.B. möglichst viele Informationen über ein bestimmtes Protein z 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 10 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 z Beteiligte Informationsquellen z z z z z 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 11 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 z MGD Resultat z 14 Gene aus 17 Experimenten 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 24 12 Herkömmlicher Ansatz: Browsing z z 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 z z Betrachten jedes SwissProt Eintrages Durch Klick BLAST Algorithmus anwerfen 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 26 13 Herkömmlicher Ansatz: Browsing z Betrachten jedes BLAST Resultats um z z 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 z Für jeden verbleibenden Eintrag z Komplette EST Sequenz bei GenBank holen 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 28 14 Idee der Integration z Bildung eines globalen Schemas (Schemaintegration) z z Gespeichert als Datenbankschema in DiscoveryLink Generierung von Wrappern für jede Datenquelle z z z 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 15 Eigenschaften föderierter IS (und DiscoveryLink) z z z z 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. z z 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.“ z „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 16 Föderierter DBMS Ansatz z Effiziente Ausführung durch Optimierer z z Herkömmliche Optimierung Wrapper helfen mit Kostenmodell z domänenspezifischen Funktionen z z Sichere Ausführung z z Wiederholbar Transaktional 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 33 Weitere Anwendungsgebiete: Föderierte Datenbanken z z Meta-Suchmaschinen Unternehmensfusionen z z z z Grid Krankenhausinformationssysteme z z z z z z 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 17 Überblick z Beispiele der Informationsintegration z z z Data Warehouse Föderierte Datenbanken Probleme und Potential der Informationsintegration z z Redundanz Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 35 Integrationspotential z Wann ist Informationsintegration möglich? z z Wann ist Informationsintegration schwierig? z z Intensionale Redundanz Extensionale Redundanz Wann ist Informationsintegration nützlich? z z Extensionale Komplementierung Intensionale Komplementierung 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 36 18 Intension & Extension z Definition: Intension z z Die Intension eines Informationssystems ist die Menge der Schemainformationen und deren Semantik (Bedeutung). Definition: Extension z 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 z Die Intension einer Datenbank z z z Schema für eine Menge von Entitäten/Dingen Semantik Die Extension einer Datenbank z z Buch ISBN Zustand Menge von Entitäten 20.10.2004 Titel 3442727316 Moby Dick Autor Herman Melville 3491960827 Robinson Daniel Crusoe Defoe 3462032283 Zwölf Nick McDonell 3883891606 Timbuktu Paul Auster Felix Naumann, VL Informationsintegration, WS 05/06 38 19 Redundanz und Komplementierung z Redundanz hilft z z z zur Verifikation Nur bei gewisser Redundanz kann Komplementierung genutzt werden Komplementierung ist gut z z 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 20 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 21 Potential Intensionaler Redundanz Quelle 1 Quelle 2 ISBN Autor 3442727316 ISBN Herman Melville 3491960827 Daniel Defoe 3491960827 Daniel Defoe 3442727316 H Melville 3462032283 Nick McDonell 3462032283 Nick MacDonell 3883891606 Paul Auster 3883891606 Paul Auster Autor 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 22 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 3462032283 Zwölf Nick McDonell 3883891606 Timbuktu 3883891606 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 23 Potential Intensionaler Komplementierung Quelle 1 ISBN Quelle 2 Autor 3442727316 Herman Melville 3491960827 Daniel Defoe 3462032283 Nick McDonell 3883891606 Paul Auster ISBN Titel 3462032283 Zwölf 3499139278 Leviathan 3442727316 Moby Dick ??? Verdichtung: Mehr Informationen über einzelne Objekte ??? 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 47 Potential Intensionaler Komplementierung Quelle 1 ISBN Quelle 2 Autor 3442727316 Herman Melville 3491960827 Daniel Defoe 3462032283 Nick McDonell 3883891606 Paul Auster Autor Titel MacDonell Zwölf Auster Leviathan H Melville Moby Dick ??? ??? 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 Verdichtung nicht immer leicht. 48 24 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 25 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 26 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 27 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 Datenkonflikt Felix Naumann, VL Informationsintegration, WS 05/06 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 28 Zusammenfassung Redundanz z Intensionale Redundanz ermöglicht extensionale Komplementierung z z z Extensionale Redundanz ermöglicht intensionale Komplementierung z z z 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 29 Zusammenfassung: Föderierte DBMS/IS 20.10.2004 Felix Naumann, VL Informationsintegration, WS 05/06 59 30