33
Repetitorium Data Warehousing und Data Mining 11/12 13./16. Februar 2012 Sebastian Wandelt

Repetitorium Data Warehousing und Data Mining 11/12wandelt/DWDM/Repetitorium.pdf · Inhalt •„Data Warehousing und Data Mining“ auf 40 Slides –Weder in-, noch exklusiv! –Subjektive

Embed Size (px)

Citation preview

Repetitorium

Data Warehousing und Data Mining 11/12

13./16. Februar 2012

Sebastian Wandelt

Inhalt

• „Data Warehousing und Data Mining“ auf 40 Slides

– Weder in-, noch exklusiv!

– Subjektive Zusammenfassung pro Kapitel

• Generelle Informationen zur Prüfung

Inhalt & Illustrationen: aus den Vorlesungsunterlagen zur Vorlesung „DWDM 11/12“ von Prof. Leser, HU Berlin

1. Grundlagenwissen RDBMs

• Relationales Datenmodell

– Begriffe: Tabellen, Attribute, Datentypen

• ER-Modellierung

– Syntax/Semantik, Beziehungsarten

• Relationale Algebra

– Operatoren/Konstruktoren

• SQL

– Syntax/Semantik von Anfragen, Views, etc.

2. Architektur und Prozesse

• Datenquellen – Heterogen, Push vs. Pull – Unterscheidung nach

• Logisch, Syntax, Qualität, ...

• Arbeitsbereich – Temporärer Speicher, häufig Filterfunktionen

• Basisdatenbank – Zentrale Komponente, feinste Auflösung historischer

Daten

• Multidimensionalität, Abgeleitete Sichten, Datenanalse, Data Mining

3. Das multidimensionale Datenmodell

• Spredsheet (Vor-und Nachteile) – => Würfel notwendig

• Begrifflichkeiten (bzgl. Cube) – Fakten (Punkte), orthogonale Dimensionen (Achsen),

Klassifikationshierarchien (Koordinatenkategorien)

– Klassifikationsschema mit K-Pfaden, K-level, K-Hierarchie

– Dimensionen

– Granularität

– Würfel als Instanz eines Würfelschemas

3. Das multidimensionale Datenmodell

K-Hierarchie

K-Pfade

K-Knoten

Dimension

Granularität

4. OLAP / 5. ROLAP

• OLAP-Operationen überführen einen Würfel in einen Würfel; in der Regel entlang eines K-Pfades – Aggregation

– Verfeinerung

• Weiterhin: – Rotatation (Pivoting)

– Selektion (Slicing)

– Auswahl (Dicing)

4. OLAP / 5. ROLAP

• ME/R-Diagramme

– Minimale Erweiterung, klare Semantik, Toolunterstützung, teilweise nicht ausdrucksstark genug

• Alternativen

– mUML

– MML

– ...

4. OLAP / 5. ROLAP

• Typverträglichkeitsmatrix

4. OLAP / 5. ROLAP

• ROLAP:

– Diverse Schemavarianten (Komplexität!)

• Aktualisierungsalgorithmen für Fakten und Dimensionen

• Oracle-spezifische MDDM-Konstrukte

– Basierend auf relationalem Schema

• Vergleich der Speicherarten

– Array vs. Relational

6. Sprachen: OLAP mit SQL, ...

• SQL-Erweiterungen

– ROLLUP in SQL

– CUBE in SQL

– GROUPING SETs

– OVER

7. ETL

• Extraktion

– Zeitpunkt

• Synchron – Propagierung jeder Änderung durch Quelle

• Asynchron (jeweils push vs. pull) – Periodisch, Ereignisgesteuert, Anfragegesteuert

– Datenart

• Snapshot, Log, Nettolog (Snapshot delta)

7. ETL

• Ladearten – Satz-basiert – BULK-Load

• Indexaktualisierung am Ende, keine Logfiles, komplette Sperre

– Anwendungsspezifische Schnittstellen

• Heterogenität – Syntaktische Heterogenität

• Punkt/Komma, Währungssymbol, Datum, ... • Lösung durch Umrechnung und Tabellen

– Schematische Heterogenität • Verwendung anderer Elemente im Datenmodell

– Semantische Heterogenität • Synonyme, Homonyme

• Großes Problem: Duplikate(-erkennung)

7. ETL

• Differential Snapshot Problem, a.k.a. Berechnung von Deltas bzgl. großer Dateien

• O ist in der Regel nicht eindeutig!

• Verschiedene Lösungsansätze ...

7. ETL

• DSSMALL

– eine der beiden Dateien passt in den Hauptspeicher; loop über kleinere Datei im Hauptspeicher

• DSNAIVE

– Nested Loop

• DSSORT

– Sort-Merge-Style

• DSSORT2

– F2 nicht komplett vorsortieren, sondern während der Hash-Sortierung mit sortiertem F1 vergleichen

• DSHASH

– Hashen, anstatt Partitionieren

7. ETL

8. Indexstrukturen

• B-Tree – Suche benötigt zwischen 1 und logk(b) IO;

(O(logk(n))

• B*-Tree – Alle Daten in den Blättern

– Bulk loading: sort -> insert

8. Indexstrukturen

• Bitmap Indizes

– Für kleine a! – Großer Gewinn bei hoher Selektivität – Komprimierung über RLE

• Join Indizes

8. Indexstrukturen

• Komprimierung von Bitmap-Indizes

– RLE1: Speichern der 1-Positionen

– RLE2: Speichern der Länge der 0-Blöcke

– Erweitert: vertikale Komprimierung!

• Vorsicht bei Sperren: Bei komprimierten Indizes können viele Datensätze (unnötiger Weise) gesperrt werden!

9. Multidimensionale Indexstrukturen

• Anfragen über mehr als ein Attribut

• Composite Index vs. Independant Index

9. Multidimensionale Indexstrukturen

• (Fixed) Grid-File – Aufteilen des Raumes in (gleichgroße), disjunkte

Unterräume; Unabhängig von der Verteilung der Daten, Splits sind immer parallel zu den Dimensionsachsen

• Kd-tree – Erweiterung von Binärbäumen auf mehrere

Dimensionen; Hierarchische splits;

– Bessere Ausnutzung bei geklusterten Daten; Hauptspeicherdatenstruktur

10. Logische Optimierung

• Anfrageplanung

• Heuristiken

– Kartesisches Produkt vermeiden

– Zwischenergebnisse früh minimieren; Reihenfolge der Joins ist wichtig!

• Abschätzung von Zwischenergebnissen über Tabellenstatistiken

10. Logische Optimierung

• Star Join in Oracle 8i

– Komprimierte Bitmapindizes

1. Berechnung der FKs

2. Bitmapped Join-Indizes anlegen

3. Merge (AND)

4. Zugriff auf Faktentabelle

5. Join der selektierten Fakten

– Zwischenergebnisse sind (kompakte) Bitlisten

– Bloomfilter können weiter 2+3 optimieren

10. Logische Optimierung

• Partitionierung

– Physisch (transparent) vs. logisch (explizit)

– Vertikal (für Auslagerung) vs. Horizontal (Parallelisierung)

– => Partition pruning

• Oracle:

– Bereichspartitionierung

– Hash-Partitionierung

11. OLAP Optimierung

• GROUP BY

– Hash-basiert

• Viel Speicher nötig

• Bei distributiven, algebraischen Funktionen

– Sortier-basiert

• Platzsparend, aber benötigt Sortierung

11. OLAP Optimierung

• CUBE-Operator – Gruppierung auf allen Teilmengen kann

Präaggregate/Ableitbarkeit ausnutzen

– => Optimierungsproblem auf Aggregationsgitter • Smallest parent

• Caching

• Amortize Scans

• Share-partitions/-sorts

– GBLP, Pipesort (Smallest parent, Share sorts)

– Iceberg Cubes: Pruning für Schwellwerte

12. Materialisierte Sichten I

• Berechnen und Speichern einer Anfrage

• View Selection

• View Maintenance (Änderungen)

• Query Optimization

12. Materialisierte Sichten I

• Query Containment

– Äquivalenz vs. Containment

– Instanzenunabhängig!

– Containment mappings über symbol mappings

– Nur bei Set-Semantik

• Ableitbarkeit

– Bedingungen, Joins, Aggregate

13. Materialisierte Sichten II

• Aktualisierung von MV

– Selektion, Projektion, Join, Aggregation: Was muss jeweils berechnet werden?

– Semantik ...

– Log-Files

13. Materialisierte Sichten II

• Inkonsistenz

– Lokal vs. Global

– Schwach vs. Stark

13. Materialisierte Sichten II

• MVs in Oracle – ENABLE QUERY REWRITE

– +Basierend auf existierenden Tabellen

– Aktualisierungsstrategien • Wann: ON DEMAND, ON COMMIT

• Wie: COMPLETE, FAST, FORCE

• Greedy-Heuristik zur Auswahl von kostengünstigsten MV – Schrittweise Auswählen des nächstens MV mit bestem

Benefit-per-Space

14. Data Mining

• Klassifikation

– Gesucht: Klassen

– Overfitting (Trainingsdaten!)

• Clustering

– Gesucht: Ähnliche Objekte

– Schlecht definiert: Form, Größe, ... von Cluster

• Assoziationsregeln

– Gesucht: Zusammenhänge

14. Data Mining

• Datenaufbereitung

– Schätzen, Extrapolieren, Ranking, Glätten ...

• Explorative Datenanalyse

– Kompakte Beschreibung von Attributsverteilungen: AVG, STDDEV, MEDIAN, ...

• ORACLE Data Mining