Informationsintegration Große Datenräume in Web-basierten Umgebungen Felix Naumann Humboldt-Universität zu Berlin [email protected] Einige Untertitel z z z z z 2 Content Merging Objekt Fusion Datenintegration Data Amalgamation etwas Data Cleansing Felix Naumann, HU Berlin 1 Integrierte Informationssysteme Anfrage Integriertes Informationssystem Oracle, DB2… Dateisystem Web Service Anwendung 3 HTML Form Integriertes Info.-system Felix Naumann, HU Berlin Integrierte Suchmaschinen Anfrage Meta-Suchmaschine Intranet Thesaurus Index 4 Felix Naumann, HU Berlin 2 Redundanz – pro & contra z Ist gut, denn sie bietet – – – – z mehr Informationen, detaillierter Informationen, und verifizierbare Informationen. Deshalb sollten wir integrieren! Ist problematisch, denn – – – – Redundanz herrscht nur konzeptionell. Technische und strukturelle Schwierigkeiten Konflikte Deshalb hören Sie diesen Vortrag. 5 Felix Naumann, HU Berlin Integrierte Informationssysteme Tupel NTFS XML HTML BusinessObjekte Unterschiedl. Formate 6 Unterschiedl. Anfrage / Suche Nutzer-Anforderung Anforderungen Integriertes Informationssystem Identität Inhalt Umfang Qualität Bezeichnung Relational Flach Graph Hierarchie Unterschiedl. Struktur Unterschiedl. Semantik Felix Naumann, HU Berlin 3 Lösung Unterschiedlicher Semantik Integriertes Informationssystem Identität Identifikation Was? Integration Wie? Optimierung Wie gut? Visualisierung Für wen? Inhalt Umfang Qualität Bezeichnung 7 Felix Naumann, HU Berlin Beispiel der Informationsintegration Web Service A <pub> <Titel> MAC: Merging Autonomous Content </Titel> 1sec. <Autor> Felix Naumann </Autor> </pub> Web Service B <publication> <title> Merging Autonomous Content </title> <auth> Felix Naumann </auth> 5sec. <year> 2002 </year> </publication> Identifikation 8 Integration Optimierung Visualisierung Felix Naumann, HU Berlin 4 Objektidentifikation Identifikation z Optimierung Visualisierung Domänenspezifische Algorithmen – – z Integration Adressdaten Mikrobiologische Daten Manchmal gibt es IDs – – – – ISBN SSN Personalausweisnummer URL 9 Felix Naumann, HU Berlin Adressdaten Identifizieren Identifikation z – z kein quadratischer Algorithmus kein Hauptspeicher-Algorithmus Forschung – Merge/Purge Technik (Hernandez, Stolfo 1998) – Record Linkage (Fellegi, Sunter, 1969) AssoClass (Neiling, 2003) z – Sorted-Neighborhood Methode Industrie – – 10 Visualisierung Eine Tabelle (der Größe N), potentiell mit Duplikaten Sehr große Datenmenge z z Optimierung Problem – z Integration Trillium, Vality, ETI, et al. Algorithmen sind gut gehütete Geheimnisse Felix Naumann, HU Berlin 5 Sorted Neighborhood Identifikation z Optimierung Visualisierung Idee – – z Integration Daten geschickt partitionieren. Nur innerhalb dieser Partitionen Duplikate suchen. Algorithmus 1. Create Key: – 2. – 3. Schlüssel mittels relevanter Feldern erzeugen. Sort: Daten nach dem Schlüssel sortieren. Merge: – – Fenster (der Größe w) über sortierte Tupel schieben. Nur Tupel innerhalb des Fensters miteinander vergleichen. 11 Felix Naumann, HU Berlin Sorted Neighborhood Identifikation Integration Optimierung Visualisierung 1. Create Key 12 Vorname Nachname Adresse ID Sal 456780 STOSAL123FRST456 Stolpho 123 First St. Schlüssel Mauricio Hernandez 321 Second Ave 123456 HERMAU321SCND123 Felix Naumann Hauptstr. 11 987654 NAUFEL11HPTSTR987 Sal Stolfo 123 First Street 456789 STOSAL123FRST456 Felix Naumann, HU Berlin 6 Sorted Neighborhood Identifikation Integration Optimierung Visualisierung 2. Sort Vorname Nachname Adresse ID Schlüssel Mauricio Hernandez 321 Second Ave 123456 HERMAU321SCND123 Felix Naumann Hauptstr. 11 987654 NAUFEL11HPTSTR987 Sal Stolpho 123 First St. 456780 STOSAL123FRST456 Sal Stolfo 123 First Street 456789 STOSAL123FRST456 13 Felix Naumann, HU Berlin Sorted Neighborhood Identifikation Integration Optimierung Visualisierung 3. Merge Vorname Nachname Adresse 14 ID Schlüssel Mauricio Hernandez 321 Second Ave 123456 HERMAU321SCND123 Felix Naumann Hauptstr. 11 987654 NAUFEL11HPTSTR987 Sal Stolpho 123 First St. 456780 STOSAL123FRST456 Sal Stolfo 123 First Street 456789 STOSAL123FRST456 Felix Naumann, HU Berlin 7 Sorted Neighborhood Identifikation z Optimierung Visualisierung Aufwand – Theoretisch: – Praktisch: z z z Integration O(N) + O(N logN) + O(wN) = O(N logN) (bei w < logN) Drei Läufe über die Daten auf der Festplatte Kommentare – Wahl des Schlüssels ist entscheidend – Parallelisierung durch Clustering Entscheidung ob ein Duplikat vorliegt ist eine komplexe Berechnung Erweiterung zum inkrementellen Algorithmus z – – Mehrere Läufe mit unterschiedlichen Schlüsseln (und kleinem Fenster) 15 Felix Naumann, HU Berlin Objektidentifikation für geschachtelte Daten Identifikation Integration Optimierung Visualisierung z Vergleiche <author> – – z Vergleiche <publication> – – z 16 Mit Subelementen (<publication>)? Wie tief? Mit parallelen Elementen (<year>)? Schema, oder Daten? Kurz: Was ist ein Object? Felix Naumann, HU Berlin 8 Objektidentifikation für verschiedene Strukturen Identifikation Integration Optimierung 17 Visualisierung Felix Naumann, HU Berlin Objektidentifikation mittels Struktur Identifikation Integration Optimierung Visualisierung ? 18 Felix Naumann, HU Berlin 9 Umgekehrt: Strukturidentifikation mittels Objekten Identifikation Integration Optimierung Visualisierung ? 19 Felix Naumann, HU Berlin Objektidentifikation – Zusammenfassung Identifikation z Optimierung Relationale Objekt Identifikation – – z Integration z – Wahl der Granularität Nutzung struktureller Information Ziele – Viele Algorithmen No magic – Identifikation geschachtelter Daten – Visualisierung – z Anpassung existierender Algorithmen Entwicklung neuer Algorithmen Bootstrapping mit Klassifikationstechniken Schnittpunkte – – Leser: Textmining Freytag: Parsergeneration Jetzt wissen wir, WAS integriert werden soll. Bloß WIE? 20 Felix Naumann, HU Berlin 10 Objektintegration Identifikation Integration Optimierung Visualisierung amazon.de amazon.de 0766607194 ID 0766607194 H. Melville $3.98 max length Herman Melville MIN CONCAT Moby Dick $5.99 bol.de bol.de 21 Felix Naumann, HU Berlin Relationale Objektintegration Identifikation z Duplikat-Eliminierung Eliminierung subsummierter Tupel Merge union – – 22 Visualisierung Minimum union [GL94] – z Optimierung Union (Vereinigung) – z Integration Duplikatintegration Konfliktlösung Felix Naumann, HU Berlin 11 Was UNION nicht kann Identifikation Integration Optimierung → → Quelle 1 Quelle 2 a, b a, - Visualisierung a, b a, b => a, b a, b => a, b a, c a, c => a, b a, a, -, d a, c, - => a, -, d a, c, - 23 Felix Naumann, HU Berlin Was MINIMUM UNION nicht kann Identifikation Integration Optimierung Quelle 1 Quelle 2 a, b a, - => a, b a, -, d a, c, - 24 → → Visualisierung a, b a, b => a, b a, b => a, b a, c a, c => a, -, d a, c, Felix Naumann, HU Berlin 12 Was Duplikatintegration können sollte Identifikation Integration Optimierung → → Quelle 1 Quelle 2 a, b a, Bedeutung von null? null Visualisierung a, b a, b => a, b a, b => a, r(b,c) a, c => a, b a, -, d a, c, - => a, c, d 25 Konfliktlösungs -funktion Felix Naumann, HU Berlin Konfliktlösung Identifikation Integration Optimierung Visualisierung null = unbekannt 26 interne Konfliktlösungsfunktion Felix Naumann, HU Berlin 13 Konfliktlösungsfunktionen Identifikation z Integration Optimierung Visualisierung Numerisch: SUM, AVG, MAX, MIN, … z Nicht-numerisch: MAXLENGTH, CONCAT, AnnCONCAT,… z Spezialisiert: RANDOM, COUNT, CHOOSE, FAVOR, MaxIQ,… z Domänen-spezifisch … 27 Felix Naumann, HU Berlin Implementierung von Integration Identifikation z – – – Visualisierung Relationale Algebra SQL C++ Programm Als Erweiterung einer föderierten Datenbank XML Datenmodell – – – 28 Optimierung Relationales Modell – z Integration XML Query Algebra XQuery Java Programm Felix Naumann, HU Berlin 14 Integration - Zusammenfassung Identifikation z z Integration Optimierung “Wahre” Integration auf Datenwert-Niveau Vereinigen ist nicht Integrieren – – – Redundanzen Widersprüche Komplemente z Visualisierung Ziele – – – z Merge-Operatoren für relationale und XML Daten Konfliktlösung Implementierung Schnittpunkte – Freytag: DB Theorie Jetzt wissen wir, WIE integriert werden soll. Bloß WIE GUT schaffen wir das? 29 Felix Naumann, HU Berlin Optimierung - Ziele Identifikation 1. Stand-alone Algorithmen zur schnellen Ausführung von Integrationsoperationen Strategien zur optimalen Ausführung komplexer Anfragen mit Integration Optimierungsziel – 30 Visualisierung Anfrageoptimierung – 3. Optimierung Integrationsalgorithmen – 2. Integration Paradigmenwechsel von Zeit zu Inhalt Felix Naumann, HU Berlin 15 Anfrageoptimierung Identifikation z Optimierung Visualisierung Das Problem – – – z Integration Gegeben: Gegeben: Gesucht: Anfrage Kostenmodell Kostenoptimaler Ausführungsplan, der die Anfrage beantwortet In klassischen Datenbanken – – – Anfrage Kosten Anfrageplan = SQL = Ausführungszeit = Baum 31 Felix Naumann, HU Berlin Anfrageoptimierung - Beispiel Identifikation Integration Optimierung Visualisierung SELECT name, company FROM emp, comp WHERE emp.compID = comp.ID AND emp.salary > 1000 π(name, company) π(name, company) σ(salary > 1000) ⋈(compID=ID) ⋈(compID=ID) emp 32 σ(salary > 1000) comp emp comp Felix Naumann, HU Berlin 16 Anfrageoptimierung mit Merging Identifikation z Optimierung Visualisierung Integration hat Vorteile – z Integration Redundanz ⇒ Mehr Alternativen Integration verursacht Schwierigkeiten: – – Pro Relation mehr als eine Quelle Neuer Merge Operator mit unklaren Kosten z z Gleich: Paradigmenwechsel der Optimierung Jetzt: Beispiel 33 Felix Naumann, HU Berlin Anfrageoptimierung mit Merging Identifikation Integration Optimierung Visualisierung π(name, company) ⋈(compID=ID) σ(salary > 1000) emp 34 comp Felix Naumann, HU Berlin 17 Anfrageoptimierung mit Merging Identifikation Integration Optimierung Visualisierung π(name, company) ⋈(compID=ID) σ(salary > 1000) emp_1 ... emp_n comp 35 Felix Naumann, HU Berlin Anfrageoptimierung mit Merging Identifikation Integration Optimierung Visualisierung π(name, company) π(name, company) ⋈(compID=ID) ⋈(compID=ID) ? σ(salary > 1000) MERGE MERGE emp_1 36 ... comp emp_n σ(salary > 1000) emp_1 σ(salary > 1000) ... comp emp_n Felix Naumann, HU Berlin 18 Optimierung – Ein Paradigmenwechsel Identifikation Integration Optimierung Visualisierung ] Festes Ergebnis ] Vollständig & korrekt ] Optimiere Kosten ] Zeit & Durchsatz ] Feste Kosten ] Preis, Geduld, … ] Optimiere Ergebnis ] Inhalt, Qualität 37 Felix Naumann, HU Berlin Optimierung mit neuen Zielen Identifikation Integration Optimierung π(name, company) z ⋈(compID=ID) z Visualisierung Operation ist kostengünstig Aber: Ergebnis kann unvollständig sein MERGE σ(salary > 1000) emp_1 σ(salary > 1000) ... comp emp_n z 38 Präferenzen? Felix Naumann, HU Berlin 19 Optimierung - Zusammenfassung Identifikation z z Integration Neue Operatoren Paradigmenwechsel der Optimierung – Optimierung z Visualisierung Ziele – – Nutzeranforderungen – z Multi-dimensionale Optimierung SQL, XQuery Optimierung in DBMS Schnittpunkte – – Reinefeld: Parallelisierung Leser: Anfrageplanung Jetzt wissen wir, WIE wir schnell und gut integrieren. Aber FÜR WEN tun das? 39 Felix Naumann, HU Berlin Visualisierung – Ziele Identifikation z z z z 40 Integration Optimierung Visualisierung Nutzerfreundliche Darstellung Gemischte (integrierte) Ergebnisse Drill-Down Kein kleinster gemeinsamer Nenner! Felix Naumann, HU Berlin 20 Visualisierung – Metasuchmaschinen Identifikation z z z Integration Optimierung Visualisierung MetaGer Mamma MetaCrawler – – – Google: Title, Summary, Descr.,Category, URL, Size Fast: Title, Summary, Descr., URL, Size Inktomi: Title, Summary, URL 41 Felix Naumann, HU Berlin 42 Felix Naumann, HU Berlin 21 43 Felix Naumann, HU Berlin 44 Felix Naumann, HU Berlin 22 HiQIQ Meta Search Engine Identifikation Integration Optimierung 45 Visualisierung Felix Naumann, HU Berlin Metadaten der Integration Identifikation z – z z 46 Visualisierung Data lineage Durch Operatoren hindurch Transformationen – z Optimierung Herkunft – z Integration Aggregation / Integration Konflikte Datenqualität Ranking Felix Naumann, HU Berlin 23 Visualisierung – Zusammenfassung Identifikation z z z Integration Optimierung Zeige mehr, nicht weniger Bsp. Metasuchmaschinen Metadaten z Visualisierung Ziele – – – – Spezifikation notwendiger Metadaten Automatisierte Erfassung Metadaten-Verwaltung „Visualisierungskonzept“ Jetzt kennen wir alle notwendigen Komponenten zur effektiven Informationsintegration. 47 Felix Naumann, HU Berlin Informationsintegration Zusammenfassung Identifikation Was? Integration Wie? Optimierung Wie gut? Visualisierung Für wen? www.informatik.hu-berlin.de/mac [email protected] 48 Felix Naumann, HU Berlin 24