Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Informationsintegration ETL & Datenherkunft (Lineage) 2.2.2006 Felix Naumann.

Ähnliche Präsentationen


Präsentation zum Thema: "Informationsintegration ETL & Datenherkunft (Lineage) 2.2.2006 Felix Naumann."—  Präsentation transkript:

1 Informationsintegration ETL & Datenherkunft (Lineage) Felix Naumann

2 Felix Naumann, VL Informationsintegration, WS 05/062 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen

3 Felix Naumann, VL Informationsintegration, WS 05/063 Similarity Functions Data Transformation Data Extraction ETL Schritte Daten quellen Lookup tables Data scrubbing... Data Warehouse Data Loading Data cleansing ETL: Extract, Transform, Load Object Fusion

4 Felix Naumann, VL Informationsintegration, WS 05/064 ETL – Überblick Häufig aufwändigster Teil des Data Warehousing Vielzahl von Quellen Heterogenität Datenvolumen Komplexität der Transformation Schema- und Instanzintegration Datenbereinigung Kaum durchgängige Methoden- und Systemunterstützung Vielzahl von Werkzeugen vorhanden => Großes Forschungspotenzial! Quelle: VL Data Warehouse Technologien Sattler/Saake

5 Felix Naumann, VL Informationsintegration, WS 05/065 ETL – Überblick Zwei Schritte 1. Von den Quellen zur Staging Area (Arbeitsbereich) Extraktion von Daten aus den Quellen Erstellen / Erkennen von differentiellen Updates Erstellen von LOAD Files 2. Von der Staging Area zur Basisdatenbank Data Cleaning und Tagging Erstellung integrierter Datenbestände Kontinuierliche Datenversorgung des DWH Sicherung der DWH Konsistenz bzgl. Datenquellen Zielkonflikt Effiziente Methoden essentiell Sperrzeiten minimieren Rigorose Prüfungen essentiell Datenqualität sichern Quelle: VL Data Warehouse Technologien Sattler/Saake

6 Felix Naumann, VL Informationsintegration, WS 05/066 Extraktion Selektion eines Ausschnitts der Daten aus den Quellen und Bereitstellung für Transformation Aufgabe Regelmäßige Extraktion von Änderungsdaten aus Quellen Datenversorgung des DWH Unterscheidung Zeitpunkt der Extraktion Art der extrahierten Daten Quelle: VL Data Warehouse Technologien Sattler/Saake

7 Felix Naumann, VL Informationsintegration, WS 05/067 Extraktion – Zeitpunkt Synchrone Benachrichtigung Asynchrone Benachrichtigung Periodisch Quellen erzeugen regelmäßig Extrakte DWH fragt regelmäßig Datenbestand ab Ereignisgesteuert DWH erfragt Änderungen vor jedem Jahresabschluss Quelle informiert nach 100 Änderungen Anfragegesteuert DWH erfragt Änderungen Quelle: VL Data Warehouse Technologien Sattler/Saake

8 Felix Naumann, VL Informationsintegration, WS 05/068 Extraktion – Art der Daten Snapshots: Quelle liefert immer kompletten Datenbestand Neuer Lieferantenkatalog, neue Preisliste, etc. Logs: Quelle liefert jede Änderung Transaktionslogs, Anwendungsgesteuertes Logging Netto-Logs: Quelle liefert Netto-Änderungen Katalogupdates, Snapshot-Deltas Quelle: VL Data Warehouse Technologien Sattler/Saake

9 Felix Naumann, VL Informationsintegration, WS 05/069 Transformation Anpassung der Daten an vorgegebene Schema- und Qualitätsanforderungen Siehe diese gesamte VL Problem Daten im Arbeitsbereich nicht im Format der Basisdatenbank Struktur der Daten unterschiedlich Schematransformation Schema Mapping etc. Datentransformation Data Scrubbing, Data Cleansing Quelle: VL Data Warehouse Technologien Sattler/Saake

10 Felix Naumann, VL Informationsintegration, WS 05/0610 Laden Physisches Einbringen der Daten aus dem Arbeitsbereich (staging area) in das Data Warehouse (einschl. eventuell notwendiger Aggregationen) Aufgabe Effizientes Einbringen von externen Daten in DWH Kritischer Punkt Load-Vorgänge blockieren unter Umständen die komplette DB (Schreibsperre auf Faktentabelle) Aspekte Trigger Integritätsbedingungen Indexaktualisierung Update oder Insert? Quelle: VL Data Warehouse Technologien Sattler/Saake

11 Felix Naumann, VL Informationsintegration, WS 05/0611 Laden Satzbasiert Benutzung von Standard- Schnittstellen: PRO*SQL, JDBC, ODBC,... Arbeitet im normalen Transaktionskontext Trigger, Indices und Constraints bleiben aktiv Manuelle Deaktivierung möglich Keine großräumigen Sperren Sperren können durch COMMIT verringert werden Benutzung von Prepared Statements Bulk-Load DB-spezifische Erweiterungen zum Laden großer Datenmengen Läuft (meist) in speziellem Kontext Komplette Tabellensperre Keine Beachtung von Triggern oder Constraints Indexe werden erst nach Abschluss aktualisiert Kein transaktionaler Kontext – kein Logging Quelle: VL Data Warehouse Technologien Sattler/Saake

12 Felix Naumann, VL Informationsintegration, WS 05/0612 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen Nach [CW03] Foto von Jennifer Widom

13 Felix Naumann, VL Informationsintegration, WS 05/0613 Data Lineage – Motivation Data Lineage Data Lineage ist das Problem, zu Objekten im DWH diejenigen Objekte in den Quellen zu bestimmen, aus denen das DWH Objekt abgeleitet wurde. Auch: Data Provenance Auch: Data Pedigree Data Warehouses Datenanalyse Decision Support Data Mining Aggregation Hilfe durch Data Lineage

14 Felix Naumann, VL Informationsintegration, WS 05/0614 Data Lineage – Motivation Schwierigkeit des Data Lineage hängt von Transformationen ab SQL: Leichter aber unrealistisch Data Lineage durch SQL Sichten Data Lineage durch Operatoren der relationalen Algebra Allgemeine Transformationen: Schwierig aber wichtig Data Lineage durch komplexe, nutzerdefinierte Transformationen Data Lineage durch ETL Prozesse Data Lineage durch Ketten von 60+ Transformationen Data Lineage geschieht auf Datenebene. Metadata Lineage Schema Mapping Schemaintegration

15 Felix Naumann, VL Informationsintegration, WS 05/0615 Data Lineage – Motivation Herkunft des Tupels (a, 2)? T = B 0 lin(a,2) = {(a,2)} T = Gruppierung nach A und Aggregation: 2x SUM(B) lin(a,2) = {(a,-1); (a,2)} T = Gruppierung nach A und Aggregation: MAX(B)... AB a a2 b0 AB a2 b0 Transformation T

16 Felix Naumann, VL Informationsintegration, WS 05/0616 Data Lineage – Motivation Zusätzliche Schwierigkeiten Runtime overhead ETL Bei virtueller Integration Speicherbedarf Metadaten Transformationen Einzeln In Ketten In (azyklischen) Graphen Trade-off zwischen Nutzen und Kosten

17 Felix Naumann, VL Informationsintegration, WS 05/0617 Data Lineage – Beispiel Produkt(PID, Name, Kategorie, Preis, Gültig) Bestellung(BID, KundenID, Datum, Produkte) Quelle: [CW03]

18 Felix Naumann, VL Informationsintegration, WS 05/0618 Data Lineage – Beispiel Ziel: Tabelle Verkaufssprung Computer-Produkte, die im letzten Quartal mehr als doppelt so viel verkauften wie im Durchschnitt der drei vorigen Quartale 1. Tabelle anlegen 2. Transformationen als Graph definieren 3. Transformationen ausführen

19 Felix Naumann, VL Informationsintegration, WS 05/0619 Data Lineage – Beispiel T 1 : Bestellungen (Produktlisten) aufspalten Neues Schema: Bestellung(BID, KundenID, Datum, PID, Menge) T 2 : Kategorie selektieren Filter für Computer Kategorie T 3 : Join (und Projektion) über Bestellungen und Produkte Neues Schema: (BID, Datum, PID, Menge, Name, Preis, Gültig) T 4 : Aggregation und Pivotisierung Verkaufsmenge pro Quartal und Produkt Neues Schema: (Name, Q1, Q2, Q3, Q4) T 5 : Durchschnittsberechnung Neues Schema: (Name, Q1, Q2, Q3, AVG3, Q4) T 6 : Selektion für Verkaufsprünge T 7 : Projektion Neues Schema: Verkaufssprung(Name, AVG3, Q4) BestellungProdukt T2T2 T7T7 T6T6 T5T5 T4T4 T1T1 T3T3 Verkaufssprung Produkt(PID, Name, Kategorie, Preis, Gültig) Bestellung(BID, KundenID, Datum, Produkte)

20 Felix Naumann, VL Informationsintegration, WS 05/0620 Data Lineage – Beispiel Data Lineage für Verkaufssprung Tupel (Sony VAIO, 11250, 39600): Quelle: [CW03] 1950

21 Felix Naumann, VL Informationsintegration, WS 05/0621 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen Nach [CW03]

22 Felix Naumann, VL Informationsintegration, WS 05/0622 Transformationen Datenmenge: Menge aus beliebigen Daten: Tupel, Werte, Objekte Hier: i.d.R. Tupel Transformation: Beliebige Prozedur, mit einer Datenmenge als Input und einer Datenmenge als Output. T(I) = O Komposition von Transformationen T = T 1 T 2 : T(I) = T 2 (T 1 (I)) [ Assoziativ: (T 1 T 2 ) T 3 = T 1 ( T 2 T 3 ) ]

23 Felix Naumann, VL Informationsintegration, WS 05/0623 Transformationen – Eigenschaften Stabil: Kein erfundener Output Also: T( ) = Gegenbeispiel: Transformationen, die jedem Tupel einen festen Wert anhängen Deterministisch: Immer gleicher Output bei gleichem Input Gegenbeispiel: Transformationen, die einen zufälligen Sample produziert.

24 Felix Naumann, VL Informationsintegration, WS 05/0624 Data Lineage – Definition Allgemein gilt: Transformationen können für jeden Outputwert alle Inputwerte betrachten. I.d.R. ist das nicht so. Sei T(I) = O und o O I* I ist die Menge der Inputwerte, die zum Output o beitragen. I* = T*(o,I) Sei O* O, dann T*(O*,I) = o O* T*(o,I) O* ist der interessante Output

25 Felix Naumann, VL Informationsintegration, WS 05/0625 Data Lineage – Motivation Herkunft des Tupels (a, 2)? T = B 0 T*((a,2),I) = {(a,2)} T gruppiert nach A und aggregiert 2x SUM(B) T*((a,2),I) = {(a,-1); (a,2)} AB a a2 b0 AB a2 b0 Transformation T

26 Felix Naumann, VL Informationsintegration, WS 05/0626 Transformationen Zwei Extreme Relationale Operatoren oder Sichten: Exakte Data Lineage kann bestimmt werden. Völlig unbekannte Transformation Der gesamte Input ist Data Lineage. Realität liegt dazwischen. Drei Transformationsklassen Hinzu kommen Schema Mappings (nicht hier) Inverse Transformationen

27 Felix Naumann, VL Informationsintegration, WS 05/0627 Transformationen - Klassifikation Dispatcher (wörtlich: Abfertiger) Jeder Input produziert null oder mehr Outputs Aggregatoren Gruppen von Inputs produzieren einen Output Black-Boxes Alles andere Quelle: [CW03]

28 Felix Naumann, VL Informationsintegration, WS 05/0628 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen Nach [CW03]

29 Felix Naumann, VL Informationsintegration, WS 05/0629 Transformationen – Dispatcher Jeder Input produziert unabhängig null oder mehr Outputs. Formal: I, T(I) = i I T({i}) Lineage: T*(o,I) = {i I | o T({i})}

30 Felix Naumann, VL Informationsintegration, WS 05/0630 Data Lineage – Beispiel T 1 : Bestellungen aufspalten T 2 : Kategorie selektieren T 3 : Join und Projektion T 4 : Aggregation und Pivotisierung T 5 : Durchschnittsberechnung T 6 : Selektion für Verkaufsprünge T 7 : Projektion BestellungProdukt T2T2 T7T7 T6T6 T5T5 T4T4 T1T1 T3T3 Verkaufssprung Dispatcher

31 Felix Naumann, VL Informationsintegration, WS 05/0631 Transformationen – Dispatcher Tracing Prozedur Definiert für Outputmengen, deshalb geeignet für Kompositionen Aufwand: Vollständiger Scan des Input Transformationsaufruf für jeden Inputwert

32 Felix Naumann, VL Informationsintegration, WS 05/0632 Transformationen – Dispatcher Dispatcher-Spezialfall: Filter Filter: i I, T({i}) = {i} oder T({i}) = Data Lineage: T*(o) = {o} Bzw. T*(O) = O Tracing Prozedur trivial

33 Felix Naumann, VL Informationsintegration, WS 05/0633 Data Lineage – Beispiel T 1 : Bestellungen aufspalten T 2 : Kategorie selektieren T 3 : Join und Projektion T 4 : Aggregation und Pivotisierung T 5 : Durchschnittsberechnung T 6 : Selektion für Verkaufsprünge T 7 : Projektion BestellungProdukt T2T2 T7T7 T6T6 T5T5 T4T4 T1T1 T3T3 Verkaufssprung Filter Dispatcher

34 Felix Naumann, VL Informationsintegration, WS 05/0634 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen Nach [CW03]

35 Felix Naumann, VL Informationsintegration, WS 05/0635 Transformationen – Aggregatoren Zwei Bedingungen müssen gelten Partition: Inputs können partitioniert werden, so dass jede Partition für genau ein Output verantwortlich ist. Sei T(I) = {o 1,..., o n }. I existiert eine eindeutige, disjunkte Partitionierung I 1,..., I n, so dass T(I k ) = o k für alle k. Vollständig: Jeder Input ist an mindestens einem Output beteiligt I, T(I) Lineage: T*(o k,I) = I k

36 Felix Naumann, VL Informationsintegration, WS 05/0636 Vergleich: Dispatcher vs. Aggregator Dispatcher Jeder Input produziert unabhängig null oder mehr Outputs. Aggregator Jeder Input ist an mindestens einem Output beteiligt. Inputs können partitioniert werden, so dass jede Partition für genau ein Output verantwortlich ist. Transformationen, die zugleich Dispatcher und Aggregator sind Identität Projektion (ohne Duplikate)

37 Felix Naumann, VL Informationsintegration, WS 05/0637 Data Lineage – Beispiel T 1 : Bestellungen (Produktlisten) aufspalten Neues Schema: Bestellung(BID, KundenID, Datum, PID, Menge) T 2 : Kategorie selektieren Filter für Computer Kategorie T 3 : Join (und Projektion) über Bestellungen und Produkte Neues Schema: (BID, Datum, PID, Menge, Name, Preis, Gültig) T 4 : Aggregation und Pivotisierung Verkaufsmenge pro Quartal und Produkt Neues Schema: (Name, Q1, Q2, Q3, Q4) T 5 : Durchschnittsberechnung Neues Schema: (Name, Q1, Q2, Q3, AVG3, Q4) T 6 : Selektion für Verkaufsprünge T 7 : Projektion Neues Schema: Verkaufssprung(Name, AVG3, Q4) BestellungProdukt T2T2 T7T7 T6T6 T5T5 T4T4 T1T1 T3T3 Verkaufssprung Filter Dispatcher Aggregator

38 Felix Naumann, VL Informationsintegration, WS 05/0638 Transformationen – Aggregatoren Tracing Prozedur Aufwand: 2 |I| Aufrufe von T Zu viel! Deshalb zwei Unterklassen Kontextfreie Aggregatoren Schlüsselerhaltende Aggregatoren Potenzmenge Mindestens I* ist Lineage I* ist vollstän- diges Lineage Eingrenzung: I* ist größer

39 Felix Naumann, VL Informationsintegration, WS 05/0639 Transformationen – Aggregatoren Kontextfreie Aggregatoren Input gehört zu einer Partition, unabhängig von den Werten andere Inputs in der Partition. Alle bisherigen Aggregatoren sind kontextfrei. Gegenbeispiel: Clustering und Durchschnittsbildung über Cluster Mitgliedschaft in einem Cluster ist von anderen Werten abhängig. Tracing Prozedur einfacher Intuition: Bildung der Partitionen I ist linear. Danach nur noch Zugehörigkeit prüfen.

40 Felix Naumann, VL Informationsintegration, WS 05/0640 Transformationen – Aggregatoren Finde für jedes i eine Partition Initialisierung der ersten Partition Prüfe ob i in eine vorhandene Partition passt Sonst erzeuge neue Partition |I²| Transformationen Suche Partitionen, die O* erzeugen. |I| Transformationen

41 Felix Naumann, VL Informationsintegration, WS 05/0641 Transformationen – Aggregatoren Schlüsselerhaltende Aggregatoren Sei I partitioniert I 1,..., I n, so dass T(I) = {o 1,...o n }. k, I I k : T(I) = {o k } und o k.key = o k.key Beispiel: Normale Gruppierung und Aggregation Gegenbeispiel: Gruppierung, die Gruppierungsattribut nicht erhält. Tracing Prozedur Aufwand: |I| Intuition: Schlüssel im Transformationsergebnis wird verwendet, um Zugehörigkeit zu prüfen.

42 Felix Naumann, VL Informationsintegration, WS 05/0642 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen Nach [CW03]

43 Felix Naumann, VL Informationsintegration, WS 05/0643 Transformationen – Black Boxes Transformationen, die weder Dispatcher noch Aggregatoren sind, noch eine explizite Tracing Prozedur aufweisen. Beispiel: Sortierung und Einfügen der Ordnungszahl. Kein Dispatcher, weil Output nicht unabhängig Kein Aggregator, weil ein Output nur mittels aller Inputs erzeugt werden kann. Lineage: T*(o,I) = I Tracing Prozedur: Trivial, aber nutzlos

44 Felix Naumann, VL Informationsintegration, WS 05/0644 MISOs – Multiple Input Single Output Transformationen Exklusive MISOs Unabhängige Transformation jeder Inputmenge Beispiel: UNION Lineage: Teilen der Transformation in unabhängige Teile Bestimmung der Eigenschaften der Teile Lineage gemäß der Eigenschaften Inklusive MISOs Lineage Teilen der Transformation in Einzelteile Jeweils anderer Input als Konstante

45 Felix Naumann, VL Informationsintegration, WS 05/0645 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen Nach [CW03]

46 Felix Naumann, VL Informationsintegration, WS 05/0646 Vorgegebene Tracing- Prozedur Mit Glück wird zusammen mit der Transformationsprozedur die entsprechende Tracing-Prozedur TP geliefert. TP benötigt Inputdaten: TP(O*,I) = I* TP benötigt keine Inputdaten: TP(O*) = I* Aufwand: unbekannt

47 Felix Naumann, VL Informationsintegration, WS 05/0647 Inverse Transformation Mit Glück wird zusammen mit der Transformationsprozedur die entsprechende inverse Prozedur geliefert. T ist invertierbar, falls T -1 existiert, so dass I, T -1 (T(I)) = I und O, T (T -1 (O)) = O Kann nicht immer als Tracing-Prozedur verwendet werden. Immer bei Aggregatoren: I* = T -1 (O*) Nur manchmal bei Dispatchern und Black Boxes Beispiel gleich. Aufwand: unbekannt

48 Felix Naumann, VL Informationsintegration, WS 05/0648 Inverse Transformation – Beispiel T: List-Merging I = {(1,a),(1,c),(2,b),(2,g),(2,h)} O = {(1,a,c),(2,b,g,h)} Aggregator => T -1 ist als TP verwendbar T -1 : List Splitting wie T 1 in Beispiel T -1 ((2,b,g,h)) = {(2,b),(2,g),(2,h)} Dispatcher Aber: (T -1 ) -1 ist keine Tracing Prozedur für T -1. (T -1 ) -1 ((2,b)) = {(2,b)} Korrekte lineage wäre: (2,b,g,h)

49 Felix Naumann, VL Informationsintegration, WS 05/0649 Überblick ETL Extract Transform Load Data Lineage (Datenherkunft) Motivation und Beispiel Datentransformationen (jeweils Definition und Tracing Prozedur) Dispatcher Aggregatoren Black Boxes & MISOs Inverse Transformation Transformationssequenzen Nach [CW03]

50 Felix Naumann, VL Informationsintegration, WS 05/0650 Transformationssequenzen Bisher: Lineage und Tracing für einzelne Transformationen Nun: Sequenzen von Transformationen Sei I 2 * = T 2 *(o,I 2 ) Sei I* = T 1 *(I 2 *,I) Dann gilt I* = (T 1 T 2 )*(o,I) Beispiel: (T 1 T 2 )*(3,I) = {1,3}

51 Felix Naumann, VL Informationsintegration, WS 05/0651 Transformationssequenzen Naive Tracing Prozedur für Sequenzen T 1... T n : Speicherung aller Zwischenergebnisse I k Tracing Prozedur rückwärts für jeden Transformationsschritt. Nicht effizient: Hoher Speicherbedarf Viele Transformationsschritte Besser: Explizite Kombination von Transformationen

52 Felix Naumann, VL Informationsintegration, WS 05/0652 Transformationssequenzen Gegeben eine Transformationssequenz 1. Normalisiere Sequenz durch geeignete Kombinationen 2. Bestimme für Tracing benötigte Zwischenergebnisse 3. Bei Transformation, speichere diese Zwischenergebnisse 4. Iteratives Tracing durch normalisierte Sequenz

53 Felix Naumann, VL Informationsintegration, WS 05/0653 Transformationssequenzen – Normalisierung Prinzipiell können jede und alle Transformationen zu einer einzigen Transformation kombiniert werden. Aber: Erwünschte Eigenschaften gehen verloren. Transformationseigenschaften Klasse (Dispatcher, Aggregator, Filter, BlackBox) Vollständigkeit Jeder Input erzeugt ein Output Tracing Prozedur / Inverse + weitere Kombination von Eigenschaften mit AND Bestimmung, welche Eigenschaften erwünscht sind, und wann Normalisierung sich lohnt, ist ein komplexes Problem. Kostenmodell nötig Hier nur: Greedy Algorithmus

54 Felix Naumann, VL Informationsintegration, WS 05/0654 Transformationssequenzen – Normalisierung Index der geeignetsten Kombination Kombiniere Transformationspaar Alle Transformationen nach der ersten Black Box vereinen.

55 Felix Naumann, VL Informationsintegration, WS 05/0655 Transformationssequenzen – Normalisierung BestCombo(T 1... T n ) Prozedur Heuristiken Kombiniere nie Black Boxes mit anderen Transformationen. Kombiniere keine Transformationen, wenn Tracing-Cost wesentlich schlechter wird. Kombiniere keine Transformationen, wenn Tracing- Genauigkeit wesentlich schlechter wird. Gruppierung aller (11) Eigenschaften in 5 Klassen Zuordnung jeder Transformation und Kombination in eine Klasse (gemäß bester Eigenschaft) Kombination ist schlecht, wenn neue Klasse erreicht würde.

56 Felix Naumann, VL Informationsintegration, WS 05/0656 Rückblick T 1 : Bestellungen aufspalten T 2 : Kategorie selektieren T 3 : Join und Projektion T 4 : Aggregation und Pivotisierung T 5 : Durchschnittsberechnung T 6 : Selektion für Verkaufsprünge T 7 : Projektion BestellungProdukt T2T2 T7T7 T6T6 T5T5 T4T4 T1T1 T3T3 Verkaufssprung Filter Dispatcher Aggregator

57 Felix Naumann, VL Informationsintegration, WS 05/0657 Rückblick DefinitionBeispiel Tracing Prozedur Tracing Aufwand

58 Felix Naumann, VL Informationsintegration, WS 05/0658 Rückblick Transformationssequenzen Normalisierungsalgorithmus

59 Felix Naumann, VL Informationsintegration, WS 05/0659 Literatur [CW03] Yingwei Cui, Jennifer Widom: Lineage tracing for general data warehouse transformations. VLDB J. 12(1): (2003) Ergänzend: [BKT01] Peter Buneman, Sanjeev Khanna, Wang Chiew Tan: Why and Where: A Characterization of Data Provenance. ICDT 2001:


Herunterladen ppt "Informationsintegration ETL & Datenherkunft (Lineage) 2.2.2006 Felix Naumann."

Ähnliche Präsentationen


Google-Anzeigen