Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Jens Bleiholder Humboldt-Universität zu Berlin Institut für Informatik Arbeitsgruppe Informationsintegration Unter den Linden.

Ähnliche Präsentationen


Präsentation zum Thema: "Jens Bleiholder Humboldt-Universität zu Berlin Institut für Informatik Arbeitsgruppe Informationsintegration Unter den Linden."—  Präsentation transkript:

1 Jens Bleiholder bleiho@informatik.hu-berlin.de Humboldt-Universität zu Berlin Institut für Informatik Arbeitsgruppe Informationsintegration Unter den Linden 6 D - 10099 Berlin VL Informationsintegration 31.1.2006 Datenfusion: Union und Co.

2 31.1.2006 Rückblick Semantische Heterogenität ist ein überladener Begriff ohne klare Definition. Er bezeichnet die Unterschiede in Bedeutung, Interpretation und Art der Nutzung. [Öszu, Valduriez 91] Namenskonflikte Identität Datenkonflikte

3 31.1.2006 Semantische Heterogenität Gleiches Objekt mehrfach beobachtet Manuelle Erfassung der Daten Objekt ändert Eigenschaften von Zeit zu Zeit Keine global konsistente ID ISBN, SSN, etc. 0815 t 0875 0815 4711 Quelle A Quelle B

4 31.1.2006 Typische Anwendungen Personen- und Adressdaten Volkszählungen Werbeaktionen Kundenpflege Bibliographische Daten Zentrale Register Waren/Katalogdaten Einkauf bei mehreren Shops Webseiten Metasuchmaschinen Molekularbiologische Daten

5 31.1.2006 Überblick Schema Matching Duplikaterkennung Datenfusion Visualisierung/Export Anwendung Schritt 1: Schritt 2: Schritt 3: Schritt 4: Datenquellen Namenskonflikte (schematische Konflikte) Identitätsproblem Datenkonflikte

6 31.1.2006 Schema Matching Findet semantisch gleiche Attribute in Relationen Zwei Attribute, die gleiche Bedeutung tragen Attributnamen und -werte dürfen sich unterscheiden TitleYearDirectorGenre Snatch2000RitchieCrime Troy2004Petersen Vanilla Sky2001CroweSci-Fi Shrek2001AdamsonAnim. The Matrix1999WachowskiFantasy TitelJahrRatingGenre Snatch1999RCrime Troja2004RHistory Vannila Ski2001RSci-Fi Vannile Sky200016Comedy Matrix199916Fantasy

7 31.1.2006 Schema Matching Formales Problem Zwei Tabellen, mit unterschiedlichen Attributen Erzeuge eine Abbildung, die jedem Attribut einer Tabelle die semantisch gleichen der anderen Tabellen zuordnet Problemerweiterungen Mehrere Tabellen 1:m und n:m Beziehungen XML Dokument, also Nesting

8 31.1.2006 Objektidentifikation Findet Duplikate in Relationen Zwei Tupel, die das gleiche real-world Objekt repräsentieren Attributwerte dürfen sich unterscheiden TitleYearDirectorGenreID Snatch2000RitchieCrime1 Troy2004Petersen 2 Vanilla Sky2001CroweSci-Fi3 Shrek2001AdamsonAnim.4 The Matrix1999WachowskiFantasy5 IDTitelJahrRatingGenre 1Snatch1999RCrime 2Troja2004RHistory 3Vannila Ski2001RSci-Fi 3Vannile Sky200016Comedy 5Matrix199916Fantasy

9 31.1.2006 Objektidentifikation Formales Problem Eine Tabelle (der Größe N), potentiell mit Duplikaten Erzeuge für jedes Tupel eine ID, so dass Duplikate gleiche IDs erhalten Problemerweiterungen Zwei Tabellen mit unterschiedlichem Schema Ein XML Dokument mit Duplikaten

10 31.1.2006 Datenkonflikte Zwei Duplikate haben unterschiedliche Attributwerte für semantisch gleiches Attribut. IDABCD 1 2 ABCE 1 1 unique, check, key ( inter-source ) ( intra-source )

11 31.1.2006 Datenkonflikte – Beispiele amazon.de bol.de ID 5.99 Moby DickHerman Melville0766607194 3.98 H. Melville0766607194

12 31.1.2006 Datenkonflikte – Entstehung Keine Integritätsbedingungen / Konsistenz-Checks Redundante Schemata Vorhandensein von Duplikaten Nicht korrekte Einträge Tippfehler, Übertragungsfehler Falsche Rechenergebnisse Obsolete Einträge Verschiedene Aktualisierungszeitpunkte oausreichende Aktualität einer Quelle overzögerte Aktualisierung Vergessene Aktualisierung Innerhalb eines Informationssystems

13 31.1.2006 Datenkonflikte – Entstehung Unterschiedliche Datentypen (mit/ohne Codierung) 1,2,...,5 bzw. "sehr gut", "gut",..., mangelhaft" Gleicher Datentyp Schreibvarianten oKantstr. / Kantstrasse / Kant Str. / Kant Strasse oKolmogorov / Kolmogoroff / Kolmogorow Typische Verwechslungen (OCR) oU V, 0 o, 1 l, usw. Innerhalb eines Informationssystems

14 31.1.2006 Datenkonflikte – Behebung Referenztabellen für exakte Wertabbildung Z.B. Städte, Länder, Produktnamen, Codes... Ähnlichkeitsmaße bei Tippfehlern bei Sprachvarianten (Meier, Mayer,...) Standardisieren und transformieren Nutzung von Hintergrundwissen (Metadaten) Konventionen (landestypische Schreibweisen) Ontologien zur Behandlung von Zusammenhängen Thesauri, Wörterbücher zur Behandlung von Homonymen, Synonymen,... Innerhalb eines Informationssystems

15 31.1.2006 Datenkonflikte – Entstehung Lokal konsistent aber global inkonsistent Duplikate Unterschiedliche Datentypen Lokale Schreibweisen/Konventionen Integration von Informationssystemen

16 31.1.2006 Datenkonflikte – Behebung Präferenzordnung über Datenquellen Aktualität Trust (Vertrauen) Öffnungszeiten usw. Informationsqualität Konfliktlösungsfunktionen Integration von Informationssystemen

17 31.1.2006 Datenkonflikte – Implementierung Prozedural Programm Im DB Kern Deklarativ Anfragesprache Schnell Gut in materialisierten IS Schlecht wiederverwendbar Funktioniert gut in föderierten IS Wiederverwendbar Langsamer

18 31.1.2006 Relationale Objektintegration Union (Vereinigung), z.B. [GUW02] Eliminierung exakter Duplikate Minimum Union, [GL94] Eliminierung subsumierter Tupel Jedoch Duplikatintegration Konfliktlösung Auch: Join, Merge, Group, …

19 31.1.2006 Relationale Algebra – Vereinigung p_idvornamenachnamealter 1PeterMüller32 2StefanieMeier34 Mitarbeiter m p_idvornamenachnamealter 5PetraWeger28 7AndreasZwickel44 Employees e p_idvornamenachnamealter 1PeterMüller32 2StefanieMeier34 5PetraWeger28 7AndreasZwickel44 m e Frage: Wie sieht m e aus?

20 31.1.2006 Union zur Informationsintegration? Was bedeutet UNION compatible? Gleiche SpaltenzahlGleiche Datentypen Verschiedene Schemata? Null-Werte? Datenkonflikte?

21 31.1.2006 Relationale Algebra – Vereinigung p_idvornamenachnamealter 1PeterMüller32 2StefanieMeier34 Mitarbeiter m p_idvornamenachnamegeboren 5PetraWeger21.3.76 7AndreasZwickel12.3.60 Employees e Anderes Schema: m e nicht definiert! Problemlösung: SchemaSQL Schema Mapping

22 31.1.2006 Relationale Algebra – Vereinigung p_idvornamenachnamealter 5PetraWeger28 7AndreasZwickel34 Mitarbeiter m p_idvornamenachnamealter 5PetraWeger28 7AndreasZwickel Employees e Null-Werte p_idvornamenachnamealter 7AndreasZwickel34 5PetraWeger28 7AndreasZwickel m e vs. 34 ist auch ein Konflikt!

23 31.1.2006 Relationale Algebra – Vereinigung p_idvornamenachnamealter 1PeterMüller32 7AndreasZwickel34 Mitarbeiter m p_idvornamenachnamealter 5PetraWeger28 7AndreasZwickel44 Employees e p_idvornamenachnamealter 1PeterMüller32 7AndreasZwickel34 5PetraWeger28 7AndreasZwickel44 m e 44 vs. 34 ist erst recht ein Konflikt!

24 31.1.2006 Konfliktbehebung mit Union? a, b a, - => a, b a, - a, b => a, b a, c => a, b a, c a, -, d a, c, - => a, -, d a, c, - Quelle 1 Quelle 2 Exakte Duplikate!

25 31.1.2006 Konfliktbehebung mit Union? Ungeeignet Es werden nur echte Duplikate entfernt. In SQL nur mit DISTINCT (Aufwand!) Außerdem Es können leicht strukturelle Konflikte auftreten: oPrimärschlüssel Es muss Schemagleichheit herrschen

26 31.1.2006 Minimum Union Seien R 1 und R 2 Relationen mit Schemata S 1 bzw. S 2. Outer Union füllt R 1 und R 2 zunächst mit NULL-Werten auf, so dass beide dem Schema S 1S 2 entsprechen. Dann wird die Vereinigung der beiden aufgefüllten Relationen gebildet. Beispiel aus [Cod79] ABC P12 P21 Q12 R BD 2U 3V S ABCD P12 P21 Q12 2 U 3 V Outer Union, [Cod79] Frage: Wie sieht aus?

27 31.1.2006 Minimum Union Ein Tupel t 1 subsumiert ein Tupel t 2, wenn -es über die gleichen Attribute definiert ist, -t 2 hat mehr NULL Werte als t 1, -t 1 = t 2 für alle nicht-NULL Werte von t 2. Schreibweise: R ergibt die Tupel aus R, die nicht subsumiert sind. p_idvornamenachnamealter 1PeterMüller32 1PeterMüller 1Peter 1Peter 32 1Peter 42 2Wiebke 2 2 Meyer2 R p_idvornamenachnamealter 1PeterMüller32 1Peter 42 2Wiebke 2 2 Meyer2 R Frage: Wieviele Tupel hat R? Subsumption, [Ull89]

28 31.1.2006 Minimum Union – NULL-Werte Semantik der NULL? [GUW02] Wert unbekannt ("unknown") oEs gibt einen Wert, ich kenne ihn aber nicht oBsp.: Unbekannter Geburtstag Wert nicht anwendbar ("inapplicable") oEs gibt keinen Wert, der hier Sinn macht oBsp.: Ehemann/-frau für Ledige Wert zurückbehalten ("withheld") oWir dürfen den Wert nicht erfahren oBsp.: Geheime Telefonnummer

29 31.1.2006 Minimum Union – NULL-Werte C.J. Date: - "Into the Unknown" - "Much Ado About Nothing" - "NOT Is Not Not!" - "Oh No Not Nulls Again" -… "Value does not exist" "Value undefined" "Value not supplied" "Total ignorance" NULL Distinguished" NULL Im weiteren: "Unknown"

30 31.1.2006 Minimum Union – Beispiel p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeyer Kunde K p_idnachnamealter 1Müller32 2Schmidt 3 56 Customer C Minimum Union, [GL94] 56 3 55 32 alter MeyerWiebke3 SchmidtFranz2 MüllerPeter 1 nachnamevorname p_id 56 3 Schmidt 2 32Müller 1 55 32 alter MeyerWiebke3 SchmidtFranz2 MüllerPeter1 nachnamevornamep_id

31 31.1.2006 Konfliktbehebung mit Minimum Union? a, b a, - => a, b => a, b a, c => a, b a, c a, -, d a, c, - => a, -, d a, c, - Quelle 1 Quelle 2 Nicht in Standard-DBMS implementiert! Subsumption!

32 31.1.2006 Und was ist mit Join? p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeyer 4KlausLehmann28 Kunde K p_idnachnamealter 1 32 2Schmidt 3Meier56 5Weger47 Customer C p_idK.vornameK.nachnameC.nachnameK.alterC.alter 1PeterMüller 32 2FranzSchmidt 55 3WiebkeMeyerMeier 56 K p_id C Frage: Ist Join zur Konfliktbehebung geeignet?

33 31.1.2006 Merge und Prioritized Merge Vermischt Join und Union zu einem Operator COALESCE beseitigt NULLs Priorisierung möglich ( ) Lässt sich mit Hilfe von SQL ausdrücken ( SELECT K.p_id, K.vorname, Coalesce(K.nachname, C.nachname), Coalesce(K.alter, C.alter) FROM K LEFT OUTER JOIN C ON K.p_id = C.p_id ) UNION ( SELECT C.p_id, K.vorname, Coalesce(C.nachname, K.nachname), Coalesce(C.alter, K.alter) FROM K RIGHT OUTER JOIN C ON K.p_id = C.p_id ) Merge ( ), [GPZ01]

34 31.1.2006 Merge – Beispiel p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeyer 4KlausLehmann28 Kunde K p_idnachnamealter 1 32 2Schmidt 3Meier56 5Weger47 Customer C p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeier56 3WiebkeMeyer56 4KlausLehmann28 5 Weger47 C K Fragen: Wie sieht das Schema aus? Wie das Ergebnis?

35 31.1.2006 Konfliktbehebung mit Merge? a, b a, - => a, b => a, b a, c => a, b a, c a, -, d a, c, - => a, c, d Quelle 1 Quelle 2 Keine Subsumption!

36 31.1.2006 Und was gibt es sonst noch? Match Join [YaÖz99] Komplexer Operator ConQuer [FuFM05] Consistent Query Answering Rewriting einer SQL Anfrage Burdick et. al. [BDJR05] Uncertainty in Data Warehouses Possible Worlds Probabilistische Modelle [Mich89] Erweitern das Schema um Wahrscheinlichkeiten

37 31.1.2006 Was sollte Duplikatintegration können? a, b a, - => a, b => a, b a, c => a, cr(b,c) a, -, d a, c, - => a, c, d Quelle 1 Quelle 2 Konfliktbehandlung

38 31.1.2006 Konfliktbehandlung Lösungsidee (Strategie) Ausführung (Funktion) Benutzer System

39 31.1.2006 Strategien, um Konflikte zu… Pass it on Take the information No Gossiping Trust your friends Cry with the wolves Roll the dice Meet in the middle Nothing is older than the news from yesterday …ignorieren …vermeiden …lösen

40 31.1.2006 Konfliktlösungsfunktionen Min, Max, Sum, Count, Avg, StdDev Standard Aggregationsfunktionen RandomZufallswahl First, LastNimmt ersten/letzten Wert, reihenfolgeabhängig Longest, ShortestNimmt längsten/kürzesten Wert Choose(source)Quellenauswahl ChooseDepending(col, val)Wahl abhängig von val in col VoteMehrheitsentscheid CoalesceNimmt ersten nicht-null Wert Group, ConcatGruppiert, fügt zusammen MostRecentNimmt aktuellsten Wert MostAbstract, MostSpecificBenutzt eine Taxonomie ….

41 31.1.2006 Ausführung von Konfliktlösung Union, Join und Co. Gruppierung (nach ID) Mit SQL Bordmitteln?

42 31.1.2006 Gruppierung – Beispiel namedatumwert Peter10.11.0320 Peter23.4.0230 Peter12.7.0312 Franz3.3.0111 Martina5.4.022 Jochen6.6.99200 Martina1.1.952 Bestellungen b SELECT name, SUM(wert) FROM Bestellungen GROUP BY name namewert Peter62 Franz11 Martina4 Jochen200

43 31.1.2006 Gruppierung und Aggregation Gruppierung weist jedem Attribut zu: Gruppierung oder Aggregation Tupel werden gruppiert nach gleichen Gruppierungswerten, alle anderen Attribute werden innerhalb der Gruppen aggregiert. NULL-Werte bilden eigene Gruppe SELECT name, SUM(wert) FROM Bestellungen GROUP BY name

44 31.1.2006 Gruppierung zur Integration Outer-Union auf alle Quellen Mit SQL GROUP BY umschließen Gruppierung nach ID Attribut Aggregat-Funktionen als Konfliktlösungsfunktion für alle anderen Attribute.

45 31.1.2006 Gruppierung zur Integration SELECT p_id, RESOLVE(vorname), RESOLVE(nachname), RESOLVE(alter) FROM K ] C GROUP BY p_id p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeyer55 56Meier 3 Schmidt 2 32Müller 1 55 32 alter MeyerWiebke3 SchmidtFranz2 MüllerPeter1 nachnamevornamep_id

46 31.1.2006 Gruppierung zur Integration 56Meier 3 Schmidt 2 32Müller 1 55 32 alter MeyerWiebke3 SchmidtFranz2 MüllerPeter1 nachnamevornamep_id SELECT p_id, MAXLEN(vorname), CHOOSE(nachname,C), MAX(alter) FROM K ] C GROUP BY p_id p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeier56 Längster String C ist bevorzugte Quelle größter Wert

47 31.1.2006 Gruppierung – Beispiel SELECT books.isbn, MAXLEN(books.title), MIN(books.price) FROM ( SELECT * FROM books1 UNION SELECT * FROM books2 ) AS books GROUP BY books.isbn books1books2 GROUP + aggregates

48 31.1.2006 Gruppierung – Vor-/Nachteile Vorteile Effizient oImplementierung durch Sortierung Behandelt Duplikate innerhalb einer Quelle und zwischen Quellen gleich. Simpel / kurz Nachteile Beschränkt auf eingebaute Standard Aggregat-Funktionen: oMAX, MIN, AVG, VAR, STDDEV, SUM, COUNT Gruppierung nur nach Gleichheit oID Attribut ist notwendig Outer Union nicht immer implementiert.

49 31.1.2006 Gruppierung – Vor-/Nachteile Nachteile genauer: Standard Aggregate oMAX, MIN, AVG, VAR, STDDEV, SUM, COUNT oErweiterung um user-defined aggregates –Optimierung –Assoziativität und Kommutativität nicht sichergestellt. oEinzig Informix bot dies an. oAußerdem zwei Forschungsprojekte Standard Gruppierung oImplizit ist Gleichheit gefordert. oBesser wäre: GROUP BY similar(id,name,birthdate) oWird nirgends angeboten –Effizienz ist schwer für den Optimierer abzuschätzen. –Transitivität kann nicht gewährleistet werden.

50 31.1.2006 Dies sollten Sie gelernt haben Namenskonflikte Identität Datenkonflikte Semantische Heterogenität Lösungen (Minimum) Union Gruppierung/Aggregation Join, Merge, … SQL Ursachen Probleme

51 31.1.2006 Ausblick Zusammenfassung Datenintegration Relationale Datenfusion Umsetzung Fragen? Thema Donnerstag: ETL und Data Lineage

52 31.1.2006 Literatur [GL94] Outerjoins as Disjunctions, Cesar A. Galindo-Legaria, SIGMOD 1994 conference [Cod79] E. F. Codd: Extending the Database Relational Model to Capture More Meaning. TODS 4(4): 397-434 (1979) [Ull89] Jeffrey D. Ullman: Principles of Database and Knowledge-Base Systems, Volume II. Computer Science Press 1989 [GUW02] Hector Garcia-Molina, Jeffrey D. Ullman and Jennifer Widom, Database Systems, Prentice Hall, 2002 [GPZ01] S. Greco, L. Pontieri, E. Zumpano, Integrating and Managing Conflicting Data, Springer, 2001 [YaÖz99] L. L. Yan, T. Özsu, Conflict tolerant queries in AURORA, CoopIS 1999 conference [FuFM05] A. Fuxman, E. Fazli, R. Miller, Conquer: Efficient Management of inconsistent databases, SIGMOD 2005 conference [BDJR05] D. Burdick, P. Deshpande, T. Jayram, R. Ramakrishnan, S. Vaithyanathan, OLAP Over Uncertain and Imprecise Dat, VLDB 2005 conference [Mich89] L. DeMichiel, Resolving Database Incompatibility: An Approach to Performing Relational Operations over Mismatched Domains, IEEE Trans. Knowl. Data Eng., 1989(1), p. 485-493


Herunterladen ppt "Jens Bleiholder Humboldt-Universität zu Berlin Institut für Informatik Arbeitsgruppe Informationsintegration Unter den Linden."

Ähnliche Präsentationen


Google-Anzeigen