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