Repetitorium Data Warehousing und Data Mining 11/12

Werbung
Repetitorium
Data Warehousing und Data Mining 11/12
Sebastian Wandelt
13./16. Februar 2012
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, KHierarchie
– Dimensionen
– Granularität
– Würfel als Instanz eines Würfelschemas
3. Das multidimensionale Datenmodell
K-Pfade
K-Knoten
Dimension
Granularität
K-Hierarchie
4. OLAP / 5. ROLAP
• OLAP-Operationen überführen einen Würfel in
einen Würfel; in der Regel entlang eines KPfades
– 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.
2.
3.
4.
5.
Berechnung der FKs
Bitmapped Join-Indizes anlegen
Merge (AND)
Zugriff auf Faktentabelle
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
Herunterladen