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 Humboldt-Universität zu Berlin Institut für Informatik Arbeitsgruppe Informationsintegration Unter den Linden 6 D Berlin VL Informationsintegration Datenfusion: Union und Co.

2 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 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 t Quelle A Quelle B

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

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

6 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 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 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 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 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 Datenkonflikte – Beispiele amazon.de bol.de ID 5.99 Moby DickHerman Melville H. Melville

12 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 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 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 Datenkonflikte – Entstehung Lokal konsistent aber global inkonsistent Duplikate Unterschiedliche Datentypen Lokale Schreibweisen/Konventionen Integration von Informationssystemen

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

17 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 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 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 Union zur Informationsintegration? Was bedeutet UNION compatible? Gleiche SpaltenzahlGleiche Datentypen Verschiedene Schemata? Null-Werte? Datenkonflikte?

21 Relationale Algebra – Vereinigung p_idvornamenachnamealter 1PeterMüller32 2StefanieMeier34 Mitarbeiter m p_idvornamenachnamegeboren 5PetraWeger AndreasZwickel Employees e Anderes Schema: m e nicht definiert! Problemlösung: SchemaSQL Schema Mapping

22 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 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 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 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 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 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 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 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 Minimum Union – Beispiel p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeyer Kunde K p_idnachnamealter 1Müller32 2Schmidt 3 56 Customer C Minimum Union, [GL94] alter MeyerWiebke3 SchmidtFranz2 MüllerPeter 1 nachnamevorname p_id 56 3 Schmidt 2 32Müller alter MeyerWiebke3 SchmidtFranz2 MüllerPeter1 nachnamevornamep_id

31 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 Und was ist mit Join? p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeyer 4KlausLehmann28 Kunde K p_idnachnamealter Schmidt 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 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 Merge – Beispiel p_idvornamenachnamealter 1PeterMüller32 2FranzSchmidt55 3WiebkeMeyer 4KlausLehmann28 Kunde K p_idnachnamealter Schmidt 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 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 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 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 Konfliktbehandlung Lösungsidee (Strategie) Ausführung (Funktion) Benutzer System

39 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 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 Ausführung von Konfliktlösung Union, Join und Co. Gruppierung (nach ID) Mit SQL Bordmitteln?

42 Gruppierung – Beispiel namedatumwert Peter Peter Peter Franz Martina Jochen Martina Bestellungen b SELECT name, SUM(wert) FROM Bestellungen GROUP BY name namewert Peter62 Franz11 Martina4 Jochen200

43 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 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 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 alter MeyerWiebke3 SchmidtFranz2 MüllerPeter1 nachnamevornamep_id

46 Gruppierung zur Integration 56Meier 3 Schmidt 2 32Müller 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 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 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 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 Dies sollten Sie gelernt haben Namenskonflikte Identität Datenkonflikte Semantische Heterogenität Lösungen (Minimum) Union Gruppierung/Aggregation Join, Merge, … SQL Ursachen Probleme

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

52 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): (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


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

Ähnliche Präsentationen


Google-Anzeigen