Data Warehousing, Gliederung Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Data Warehousing und Mining 1 Data Warehousing und Mining 2 Dimensionen vs. Measures (1) Dimensionen vs. Measures (1) rot Produkt Dimensionen: Produkt,, Filiale rot Produkt Dimensionen: Produkt,, Filiale Measure: Umsatz Measure: Umsatz Milch Milch 95 52 52 Tee Tee Irchel Irchel Central Central Wipkingen Wipkingen Filiale Filiale Data Warehousing und Mining 3 Data Warehousing und Mining 4
Dimensionen vs. Measures (2) Klassifizierung der Attribute einer Relation in Dimensionen und Measures: Dimensionen: Attribute, anhand derer man Tupel identifizieren und klassifizieren kann, Measures: Wert, der einem Tupel zugeordnet ist. eispiel: Filiale Produkt Umsatz Dimensionen vs. Measures (3) Irchel Ort Dimensionen: Ort, Alter Measures: Hypothek, Kontostand Es liegt nicht allein in der Natur des Attributs, ob Dimension oder Measure. eispiel: Ort Hypothek Alter Kontostand Central Wipkingen 20. 30 (150000; 3000) Alter Hypothek kann Measure, aber auch Dimension sein. Data Warehousing und Mining 5 Data Warehousing und Mining 6 Dimensionen vs. Measures (4) Dimensionen vs. Measures (4) 200.000 Hypothek Dimensionen: Ort, Hypothek, Alter 200.000 Hypothek Dimensionen: Ort, Hypothek, Alter Measure: Kontostand Measure: Kontostand 100.000 100.000 {4200, 57} 50.000 50.000 20 30 20 30 Durlach Karlsruhe Ettlingen Ort Alter Was ist, wenn mehrere Personen am gleichen Ort gleichen Alters Hypotheken mit exakt der gleichen Höhe haben? Durlach Karlsruhe Ettlingen Ort Alter Alternativen: Mehrere (Kontostand-)Werte an dieser Position (Menge von Werten), aggregierter Wert. Data Warehousing und Mining 7 Data Warehousing und Mining 8
Dimensionen vs. Measures (5) Weiteres eispiel: Man kann Umsatz als Funktion von Gewinn oder Gewinn als Funktion von Umsatz darstellen, d. h. Umsatz ist entweder Measure oder Dimension. D. h. mehrere Darstellungsmöglichkeiten für eine Relation, Definition der Relation unterscheidet sich also von der Spezifikation der multidimensionalen Tabelle, Trennung zwischen strukturellen und inhaltlichen Aspekten. Filiale Umsatz Gewinn Data Warehousing und Mining 9 Ein möglicher Ansatz zur eschreibung einer Tabelle, anhand eines eispiels Relation R(Part, City, Year, Month, Cost, Sale), Schema der Tabelle: Sales=<{Category, Time}, {Part, City, Year, Month, Cost, Sale}, par> mit par(category)={part, City} und par(time)={year, Month} Im Gegensatz zur Verwendung des egriffs Dimension vorher werden jetzt mehrere Attribute zu einer Dimension (mit neuem Namen) zusammengefaßt. par identifiziert die estandteile der Dimensionen. SALES TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Data Warehousing und Mining 10 Ein möglicher Ansatz zur eschreibung einer Tabelle, anhand eines eispiels Relation R(Part, City, Year, Month, Cost, Sale), Dimensionen Attribute Schema der Tabelle: Sales=<{Category, Time}, {Part, City, Year, Month, Cost, Sale}, par> mit par(category)={part, City} und par(time)={year, Month} Im Gegensatz zur Verwendung des egriffs Dimension vorher werden jetzt mehrere Attribute zu einer Dimension (mit neuem Namen) zusammengefaßt. par identifiziert die estandteile der Dimensionen. Neuerung: Mehrere SALES Attribute bilden Dimension. TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Data Warehousing und Mining 11 Kleine Unzulänglichkeit des Ansatzes (1) Achtung: Hier wurde zufällig die richtige Darstellung gewählt, daß nämlich Jahr aus Monaten besteht und nicht umgekehrt, unsere Schema-Notation reflektiert das aber nicht. Wir lassen diese Feinheit jetzt außen vor. SALES TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Data Warehousing und Mining 12
Kleine Unzulänglichkeit des Ansatzes (2) Darstellung der Alternative: SALES TIME Month Jan Feb Year 1996 1997 1996 1997 CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) eispiel 2: Gleiche Relation, andere Tabelle Schema der Tabelle: Sales=<{Location, Component}, {Part, City, Year, Month, Cost, Sale}, par> mit par(location)={city} und par(component)={part} Dimensionen, Attribute, par identifiziert die estandteile der Dimensionen. SALES COMPONENT Part PC Inkjet LOCA- TION City (Year,Month, Cost,Sale) Montreal (1996, Jan, 5, 6) (1996, Jan, 5, 6) Montreal (1996, Jan, 5, 7) (1996, Jan, 5, 7) Montreal (1997, Jan, 4, 6) (1997, Jan, 4, 6) Montreal (1997, Feb, 4, 8) (1997, Feb, 4, 8) Toronto (1997, Jan, 5,7) / Toronto (1996, Feb, 5, 8) / Data Warehousing und Mining 13 Data Warehousing und Mining 14 eispiel 2: Gleiche Relation, andere Tabelle Schema der Tabelle: Sales=<{Location, Component}, {Part, City, Year, Month, Cost, Sale}, par> mit par(location)={city} und par(component)={part} Dimensionen, Attribute, par identifiziert die estandteile der Dimensionen. SALES COMPONENT Part PC Inkjet LOCA- TION City (Year,Month, Cost,Sale) Montreal (1996, Jan, 5, 6) (1996, Jan, 5, 6) Montreal (1996, Jan, 5, 7) (1996, Jan, 5, 7) Montreal (1997, Jan, 4, 6) (1997, Jan, 4, 6) Montreal (1997, Feb, 4, 8) (1997, Feb, 4, 8) Toronto (1997, Jan, 5,7) / Toronto (1996, Feb, 5, 8) / Numerische vs. kategorische Dimensionen Klassifizierung von Dimensionen: Numerische Dimensionen eispiele: Zeit, Einkommen, Alter Kategorische Dimensionen eispiele: Ort, Produkt. Auch kategorische Attributwerte lassen sich auf Zahlen abbilden. Kriterium für Differenzierung ist, ob Intervalle entlang der Dimension sinnvoll sind. Data Warehousing und Mining 15 Data Warehousing und Mining 16
Dimensionen vs. Measures, weitere Gedanken eobachtung aus den vorangegangenen eispielen: Kategorische Dimensionen sind oft keine sinnvollen Measures. Warum ist Differenzierung zwischen Dimensionen und Measures wichtig? Operationen auf Data Cubes differenzieren zwischen Dimensionen und Measures. ei den meisten OLAP-Werkzeugen muß man fest einstellen, was Dimensionen und was Measures sind. Typische Anzahl von Dimensionen Versicherung: 10-15 Industrie: 8 Controlling: 11-13 ting: 5-7 z Data Warehousing und Mining 17 Data Warehousing und Mining 18 Data Warehousing, Gliederung Star Schema vs. Snowflake Schema Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Motivation: Im Zusammenhang mit Data Warehousing ist es vorteilhaft, Schemata anhand ihrer Topologie zu klassifizieren, und für regelmäßige Schematypen übersichtlichere und effiziente Werkzeuge und Methoden zu entwickeln. Wichtige Schematypen in diesem Zusammenhang: Star Schema - gängiger Schematyp, der multidimensionalen Datenbanken zugrundeliegt. Paßt zur multidimensionalen Sichtweise mit Dimensionen und Measures. Unterscheidung zwischen Fact Tables und Dimension Tables: Fact Tables: enthalten Dimensionen und Measures, Dimension Tables: beschreiben die Dimensionen. Snowflake Schema - Verfeinerung des Star Schemas, Attribute der Dimension Tables werden durch weitere Relationen beschrieben. Data Warehousing und Mining 19 Data Warehousing und Mining 20
Star Schema vs. Snowflake Schema - eispiel Star Schema vs. Snowflake Schema - eispiel Filiale F-ID Ort Adresse Anzahl MA Verkäufe T-ID F-ID P-ID V-ID Umsatz Produkt P-ID Name Lieferant Anwendung Preis Verkäufer V-ID... Filiale F-ID Ort Adresse Anzahl MA Dimension ohne entsprechende Fact Table. Verkäufe T-ID F-ID P-ID V-ID Umsatz Produkt P-ID Name Lieferant Anwendung Preis Verkäufer V-ID... Data Warehousing und Mining 21 Data Warehousing und Mining 22 Data Warehousing, Gliederung Operatoren für Relationen Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 - Selektion, - Projektion, - Join. 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 Data Warehousing und Mining 23 Data Warehousing und Mining 24
GROUP Y Der Standard-SQL GROUP Y Operator unterteilt eine Tabelle in Gruppen. Auf jede Gruppe wird dann die Aggregatsfunktion angewendet. Das Resultat ist eine Menge von Werten. Group-by Operator hat als Parameter Gruppierungsattribute, Aggregationsfunktion. Grouping Values Partitioned Table Aggregate Values Sum() Group-by Operator (2) undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 Measure Dimensions avg max sum sum undesland Anzahl MW 106 210 196 Anzahl MW 35.33 52.5 49 Anzahl MW 41 95 62 undesland Anzahl 131 ayern 240 141 Data Warehousing und Mining 25 Data Warehousing und Mining 26 Group-by Operator (3) Cross-Table undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 Darstellung einer zweidimensionalen Aggregation erfolgt am einfachsten in einer Cross-Table (Pivottabelle): MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52, undesland sum undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 T-Shirt Verkäufe T-Shirt 1996 1997 total (ALL) rot 500 450 950 blau 300 400 700 total (ALL) 800 850 1650 09.01. 1994 ayern 27 10.01. 1994 ayern 62 Data Warehousing und Mining 27 Data Warehousing und Mining 28
Data Cube - Repräsentation aggregierter Werte Data Cube - Repräsentation aggregierter Werte (2) MW undesland Anzahl 131 ayern 240 141 MW undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 ayern undesland Groupy-Operator berechnet Punkte in einer Hyperebene. ayern undesland Wofür steht Zahl im Ursprung? Data Warehousing und Mining 29 Data Warehousing und Mining 30 Cube Operator Cube Operator Cube-Operator estandteil von SQL, wie der Group-by Operator. Cube-Operator ist n-dimensionale Verallgemeinerung des Group-by Operators. erechnet n Hyperebenen anstatt nur einer. (Der Group-by Operator aggregiert nur in einer Dimension.) Data Warehousing und Mining 31 undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 MW 07.01. 1994 ALL 69 MW 08.01. 1994 ALL 37 07.01. 1994 ALL 48 08.01. 1994 ALL 67 07.01. 1994 ALL 55 08.01. 1994 ALL 52 09.01. 1994 ALL 27 10.01. 1994 ALL 62 MW ALL 28 MW ALL ayern 37 MW ALL 41 ALL 48 MW ALL ALL 106 ALL ALL 210 ALL ALL 196 ALL ALL ayern 240 ALL ALL 131 ALL ALL ALL 512 Data Cube (Group-y Operator berechnet nur einzelne Zeilen dieser Relation.) Data Warehousing und Mining 32
CUE - Operator Data Cube als n-dimensionale Generalisierung von GROUP Y und Aggregaten: 0D: Punkt 1D: Linie mit Punkt 2D: Pivottabelle (Fläche mit zwei Linien und einem Punkt) 3D: Würfel mit drei sich schneidenden 2D-Cubes Relationale Darstellung der Cross-Table 'ALL' wird verwendet, um Mehrfach-Aggregationen auszudrücken. Verkauf: Zusammenfassung Modell Jahr Farbe Stücke T-Shirt 1996 rot 500 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 blau 400 T-Shirt ALL rot 950 T-Shirt ALL blau 700 T-Shirt 1996 ALL 800 T-Shirt 1997 ALL 850 T-Shirt ALL ALL 1650 SELECT Modell, 'ALL', 'ALL', SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell UNION SELECT Modell, Jahr, 'ALL', SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell, Jahr UNION SELECT Modell, 'ALL', Farbe, SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell, Farbe UNION SELECT Modell, Jahr, Farbe, SUM(Stücke) FROM Verkauf WHERE Modell = 'T-Shirt' GROUP Y Modell, Jahr, Farbe; Ziel dieser Folie: Illustration, daß Standard-SQL als Werkzeug für mehrdimensionale Aggregation ungeeignet ist. Data Warehousing und Mining 33 Data Warehousing und Mining 34 Range Queries Range Queries Was sind Range Queries? Aggregation über Elemente eines Hypercube, den Intervalle entlang numerischer Dimensionen definieren. Für kategorische Dimensionen betrachtet man entweder einzelne Werte oder den ganzen Wertebereich. egriff Range Queries wird anders verwendet als im ereich Ähnlichkeitssuche. Dort ermitteln Range Queries alle Punkte, die in einem gegebenen Hypercube oder einer Hypersphere liegen. MW ayern undesland Data Warehousing und Mining 35 Data Warehousing und Mining 36
Range Queries Range Queries MW MW ayern ayern undesland undesland Data Warehousing und Mining 37 Data Warehousing und Mining 38 Range Queries Group-y (Folie aus vorigem Kapitel) MW ayern undesland eispiel Alte Sichtdefinition: CREATE VIEW V(Proj#, Location, Proj_Sal) AS SELECT Proj#, Location, SUM((Salary Hours)/40) FROM E & W & P GROUPY Proj#, Location Neue Sichtdefinition: CREATE VIEW V (Location, Proj_Sal) AS SELECT Location, SUM((Salary Hours)/40) FROM E & W & P GROUPY Location Welche Sicht enthält mehr Tupel? Was kann man machen? - erechnung von V aus V: SELECT Location, SUM(Proj-Sal) FROM V GROUPY Location Data Warehousing und Mining 39 Data Warehousing und Mining 40
erechnung des Data Cubes erechnung des Data Cubes M M M MW MW D D ayern ayern Data Warehousing und Mining 41 Data Warehousing und Mining 42 erechnung des Data Cubes erechnung des Data Cubes M M DM M D M D DM MW MW D M none D D ayern ayern Welche erechnung ist sinnvoller? Cuboid Data Warehousing und Mining 43 Data Warehousing und Mining 44
egriffe Reduktionsfaktor = Kardinalität (Input-Relation) Kardinalität (Output Relation) Parent A ist Parent von, wenn aus A berchnet werden kann, und A genau ein Attribut mehr hat als. A Modell Jahr Farbe Stück all all all all all all 500 150 400 250 100 200 GROUP Y Model Modell Jahr Farbe Stück all all 1050 all all 750 Data Warehousing, Gliederung Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Input-Relation Output Relation Data Warehousing und Mining 45 Data Warehousing und Mining 46 Cubey Consolidation Paths Ein Operator, der bereits vorgestellt wurde, Praktisch aus Endbenutzer-Sicht nicht von so großer edeutung, im folgenden werden aber Operatoren vorgestellt, mit denen der Endbenutzer arbeiten kann. undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 M DM D D none DM M Data Warehousing und Mining 47 Data Warehousing und Mining 48
Consolidation Paths Consolidation Paths DM DM M D DM M D DM D M D M none none undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 undesland Anzahl 131 ayern 240 141 Data Warehousing und Mining 49 Data Warehousing und Mining 50 Consolidation Paths (2) Consolidation Paths (2) undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 M DM D D none DM M undesland Anzahl MW 07.01. 1994 28 MW 08.01. 1994 ayern 37 MW 07.01. 1994 41 07.01. 1994 48 08.01. 1994 ayern 62 08.01. 1994 5 09.01. 1994 95 07.01. 1994 55 08.01. 1994 ayern 52 09.01. 1994 ayern 27 10.01. 1994 ayern 62 M DM D D none DM M undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 undesland Anzahl MW 28 MW ayern 37 MW 41 48 ayern 62 100 55 ayern 141 undesland Anzahl 131 ayern 240 141 Roll-up (Drill-up) Drill-down Data Warehousing und Mining 51 Data Warehousing und Mining 52
Consolidation Paths (3) Consolidation Konsolidierung ist nicht nur möglich, indem man Dimensionen ausblendet, sondern auch durch das Zusammenfassen von Werten. Tag MW Woche Monat Jahr ayern keine Konzepthierarchie undesland Data Warehousing und Mining 53 Data Warehousing und Mining 54 Consolidation Consolidation Paths (4) DM - undesland - - T DM W Mo J M D D DM M MW none DM none ayern MW MMo DM D undesland M W MW MJ MMo Mo D... Anzahl Ebenen? Data Warehousing und Mining 55 Data Warehousing und Mining 56
Consolidation Paths (5) Star Schema vs. Snowflake Schema - eispiel Vorangegangene Folie verdeutlicht zweierlei: - Kombinierbarkeit, - sehr viele Kombinationsmöglichkeiten. Filiale F-ID Ort Adresse Anzahl MA Verkäufe T-ID F-ID P-ID V-ID Umsatz Produkt P-ID Name Lieferant Anwendung Preis Verkäufer V-ID... Data Warehousing und Mining 57 Data Warehousing und Mining 58 Symmetrische vs. Asymmetrische Aggregation Slice & Dice (Modell, Jahr, Farbe) (Modell, Jahr, ALL) (ALL, Jahr, Farbe) (Modell, ALL, Farbe) (Modell, ALL, ALL) (ALL, Jahr, ALL) (ALL, ALL, Farbe) (ALL, ALL, ALL) Motivation: Man kann nur 2D-Tabelle auf dem ildschirm sinnvoll darstellen, unterschiedliche Sichten sinnvoll, je nach Kontext, Anwender soll frei sein im Zugreifen auf Ausschnitte des Cubes. MW Symmetrische Aggregation: erechne Resultate aller Knoten (CUE) Asymmetrische (lineare) Aggregation: erechne nur die Resultate der Knoten entlang eines Pfades (ROLLUP) Dice - Drehen am Würfel, Slice - Aufschneiden des Würfels Operationen für Slice und Dice werden später definiert. ayern undesland Data Warehousing und Mining 59 Data Warehousing und Mining 60
Cross-Dimensional Operations Demo Verknüpfungen von Werten aus unterschiedlichen Dimensionen eispiel für single-dimensional erechnung: Anzahl der Angestellten = elegschaft - Anzahl Arbeiter Allen Werten entspricht die gleiche Position im DataCube. eispiel für cross-dimensional erechnung: ereinigter projizierter Gewinn = Projizierter Gewinn, verrechnet mit Währungsrisiko des jeweiligen Landes. ildungsgrad Studium Abitur Hauptschule ayern Ort Data Warehousing und Mining 61 Data Warehousing und Mining 62 Data Warehousing und Mining 63 Data Warehousing und Mining 64
Data Warehousing und Mining 65 Data Warehousing und Mining 66 Data Warehousing und Mining 67 Data Warehousing und Mining 68
Data Warehousing und Mining 69 Data Warehousing und Mining 70 Data Warehousing und Mining 71 Data Warehousing und Mining 72
Algebra für multidimensionale Strukturen Ziel: Algebra, deren Operatoren den DataCube-Operationen entsprechen, präzise Definition der Algebra-Operatoren, Algebra sollte möglichst einfach sein. Ansatz, der im folgenden verfolgt wird: Verwendung des Spezifikationsmechanismus für Tabellen einerseits und des relationalen Modells andererseits. Erster Schritt: eschreibung der Abbildung eines Datenbestands von einer Sicht in die andere, zweiter Schritt (relativ einfach, gegeben der erste Schritt): Definition der Operatoren mit Hilfe des relationalen Modells. z Data Warehousing und Mining 73 Data Warehousing und Mining 74 Vervollständigung der Tupel eobachtung Ziel: Einfügen von Nullwerten in die Relation r für die multidimensionale Darstellung. Ist Voraussetzung für das problemlose Wechseln zwischen den Modellen. eispiel: SALES TIME Year 1996 1997 Month Jan Feb Jan Feb CATEGORY Part City (Cost, Sale) PC Montreal (5,6) (5,7) (4,6) (4,8) Toronto (5,7) (5,8) (4,8) (4,9) Inkjet Montreal (7,8) (7,9) (6,9) (6,8) New York (6,9) (6,9) (5,8) (5,9) Für eine gegebene Tabelle mit Schema S=<D,R,par> gibt es eine entsprechende Relation mit Schema R. rep(τ) steht für diese Relation. Von einer Relation kommt man unter Angabe des Table Schemas S zu genau einer Tabelle. tab S (r) identifiziert diese Tabelle. Angenommen, Tupel mit City=Quebec, aber kein Tupel (PC, Quebec, 1996, April, ). Dann ist (PC, Quebec, 1996, April, /) Teil der Vervollständigung. Data Warehousing und Mining 75 Data Warehousing und Mining 76
Algebra-Operatoren Selektion, Projektion, Umbenennung op(τ) := tab S (op(rep(τ))) Mengenoperation, kartesisches Produkt - analog, unfold, fold: gegeben ein Table Schema, macht unfold aus einem oder mehreren Measures eine Dimension; fold ist in der anderen Richtung. Definition von unfold: unfold Xd (τ) (d ist neuer Name, X ist Menge von Measure-Attributen) Table-Schema wird neu definiert: S =<D {d},r,par > mit par (d)=x par (d i )=par(d i ) für alle d i D Neuer Table ist tab S (rep(τ)). Data Warehousing, Gliederung Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP Data Warehousing und Mining 77 Data Warehousing und Mining 78 eispiel eines 3D-Data-Cubes MS-SQL-Server Verkauf Modell Jahr Farbe Stücke T-Shirt 1995 rot 300 T-Shirt 1995 weiß 75 T-Shirt 1995 blau 250 T-Shirt 1996 rot 500 T-Shirt 1996 weiß 100 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 weiß 500 T-Shirt 1997 blau 400 Hosen 1995 rot 100 Hosen 1995 weiß 220 Hosen 1995 blau 300 Hosen 1996 rot 50 Hosen 1996 weiß 100 Hosen 1996 blau 420 Hosen 1997 rot 70 Hosen 1997 weiß 60 Hosen 1997 blau 300 CUE SELECT Modell, Jahr, Farbe, SUM(Stücke) AS Total FROM Verkauf WHERE Modell IN { T-Shirt, Hosen } AND Jahr ETWEEN 1995 AND 1997 GROUP Y Modell, Jahr, Farbe WITH CUE; DATA CUE Modell Jahr Farbe Total ALL ALL ALL 4495 T-Shirt ALL ALL 2875 Hosen ALL ALL 1620 ALL 1995 ALL 1245 ALL 1996 ALL 1470 ALL 1997 ALL 1780 ALL ALL rot 1470 ALL ALL weiß 1055 ALL ALL blau 1970 T-Shirt 1995 ALL 625 T-Shirt 1996 ALL 900 T-Shirt 1997 ALL 1350 Hosen 1995 ALL 620 Hosen 1996 ALL 570 Hosen 1997 ALL 430 T-Shirt ALL rot 1250 T-Shirt ALL weiß 675 T-Shirt ALL blau 950 Hosen ALL rot 220 Hosen ALL weiß 380 Hosen ALL blau 1020 ALL 1995 rot 400 ALL 1995 weiß 295 ALL 1995 blau 550 ALL 1996 rot 550 ALL 1996 weiß 200 ALL 1996 blau 720 ALL 1997 rot 520 ALL 1997 weiß 560 ALL 1997 blau 700 Abweichung zur bisherigen Definition des CUE-Operators: NULL Wert anstelle des ALL Wertes Neue Funktion GROUPING(): TRUE, falls Element ein ALL Wert FALSE sonst Überall, wo vorher im Resultat der ALL-Wert erschien, kommt jetzt NULL, und das dazugehörige grouping Feld enthält TRUE. Data Warehousing und Mining 79 Data Warehousing und Mining 80
MS-SQL-Server (eispiel) Select Modell, Jahr, Farbe, SUM(Stücke), GROUPING(Modell),GROUPING(Jahr),GROUPING(Farbe) FROM Verkauf WHERE Modell = 'T-Shirt' AND Jahr ETWEEN 1996 AND 1997 GROUP Y Modell, Jahr, Farbe WITH CUE; "original" Modell Jahr Farbe Stücke T-Shirt 1996 rot 500 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 blau 400 T-Shirt ALL rot 950 T-Shirt ALL blau 700 T-Shirt 1996 ALL 800 T-Shirt 1997 ALL 850 T-Shirt ALL ALL 1650 Version des MS-SQL-Servers Modell Jahr Farbe Stücke Grouping (Modell) Grouping (Jahr) Grouping (Farbe) T-Shirt 1996 rot 500 FALSE FALSE FALSE T-Shirt 1996 blau 300 FALSE FALSE FALSE T-Shirt 1997 rot 450 FALSE FALSE FALSE T-Shirt 1997 blau 400 FALSE FALSE FALSE T-Shirt NULL rot 950 FALSE TRUE FALSE T-Shirt NULL blau 700 FALSE TRUE FALSE T-Shirt 1996 NULL 800 FALSE FALSE TRUE T-Shirt 1997 NULL 850 FALSE FALSE TRUE T-Shirt NULL NULL 1650 FALSE TRUE TRUE ROLLUP (eispiel) SELECT Modell, Jahr, Farbe, SUM(Stücke) AS Total, FROM Verkauf WHERE Jahr ETWEEN 1996 AND 1997 GROU Y Modell, Jahr, Farbe WITH ROLLUP Reihenfolge der Attribute ist relevant. (Modell, Jahr, Farbe) (Modell, Jahr, ALL) (ALL, Jahr, Farbe) (Modell, ALL, Farbe) (Modell, ALL, ALL) (ALL, Jahr, ALL) (ALL, ALL, Farbe) (ALL, ALL, ALL) Modell Jahr Farbe Total T-Shirt 1996 rot 500 T-Shirt 1996 blau 300 T-Shirt 1997 rot 450 T-Shirt 1997 blau 400 Hosen 1996 rot 50 Hosen 1996 blau 420 Hosen 1997 rot 70 Hosen 1997 blau 300 T-Shirt 1996 ALL 800 T-Shirt 1997 ALL 850 Hosen 1996 ALL 470 Hosen 1997 ALL 370 T-Shirt ALL ALL 1650 Hosen ALL ALL 840 ALL ALL ALL 2490 Data Warehousing und Mining 81 Data Warehousing und Mining 82 Wünschenswert: Zugriff auf Elemente des CUEs Zusätzliche Angabe des Anteils der verkauften Stücke an den insgesamt verkauften Stücken: SELECT v.modell, v.jahr, v.farbe, SUM(Stücke) AS Total, SUM(Stücke) / Total(ALL, ALL, ALL) AS Verhältnis FROM Verkauf v WHERE Modell = 'T-Shirt' AND Jahr ETWEEN 1996 AND 1997 GROU Y Modell, Jahr, Farbe WITH CUE v.m o d e ll v.j a h r v.f a rb e T o ta l V e rh ä ltn is T -S h irt 1 9 9 6 ro t 5 0 0 0.3 0 3 T -S h irt 1 9 9 6 b la u 3 0 0 0.1 8 2 T -S h irt 1 9 9 7 ro t 4 5 0 0.2 7 3 T -S h irt 1 9 9 7 b la u 4 0 0 0.2 4 2 Tabelle nicht vollständig, ALL -Zeilen fehlen Funktioniert nicht. Workaround mit Views. Σ=1 Data Warehousing warum reichen herkömmliche Datenbank-Konzepte und -Technologie nicht aus? Im Prinzip reichen sie schon, aber: Höheres Abstraktionsniveau der Operatoren, vergleichbar mit Übergang Netzwerkmodell relationales Modell/SQL; neue, mächtige Operatoren, insbesondere: Cubey, Drill-Down, Roll-Up. Zwei Aspekte: Implementierung dieser neuen Operatoren mit SQL-Operatoren ist i. Allg. zu umständlich, eispiel: Cubey-Operator als Ergebnis von vielen UNIONs von Groupys Mächtige Primitive machen große Anwendungen erst möglich, Übersichtlichkeit. Query Processing mit herkömmlichen Optimierungstechniken ist hinsichtlich der Laufzeit nicht akzeptabel. Data Warehousing und Mining 83 Data Warehousing und Mining 84
Data Warehousing, Gliederung Dimensionen und Measures Schematypen für Data Warehousing Groupy und Data Cubes Operatoren für den Data Cube Operatoren in MS-SQL ROLAP vs. MOLAP ROLAP vs. MOLAP ROLAP ( Relational OLAP ) Aggregate, z.. Resultat des CUE-Operators, werden in relationaler Datenbank gespeichert, MOLAP ( Multidimensional OLAP ) spezielle Speicherstruktur für Inhalte multidimensionaler Datenbank, Schlechte Ausnutzung des Speichers bei sparse Data Sets; Abhilfe: Matrix-Komprimierungstechniken. Komprimierung: Liste von (Offset, Wert)-Paaren. Oft zweistufiges Verfahren: Dichte Subcubes werden identifiziert und ohne Komprimierung gespeichert, Sparse Subcubes Komprimierung. Für die schnelle Evaluierung von Range-Queries existieren spezielle Speicherstrukturen. Data Warehousing und Mining 85 Data Warehousing und Mining 86 Literatur Data Cube: A Relational Aggregation Operator Generalizing Group-y, Cross-Tab, and Sub-Total. Jim Gray, Adam osworth, Andrew Layman, Hamid Pirahesh Proc. of International Conference on Data Engineering, 1996 A Foundation for Multi-Dimensional Databases Marc Gyssens, Laks V.S. Lakshmanan Proc. of the 23 rd Int l Conference on Very Large Databases, 1997 Mögliche Prüfungsfragen In der Vorlesung wurde eine Definition von Tabellenschema vorgestellt. Wie könnte Tabellenschema noch definiert sein? Gegeben sei Relation X, mit Tabellenschema Y. Wieviele Zeilen hat die Tabelle? Warum ist es stoßend, Measures in OLAP-Werkzeugen wie eine normale Dimension zu behandeln? Welche Operationen im multidimensionalen Modell kennen Sie? Was leistet der fold-operator? Wie ist er definiert? Das relationale Datenmodell hat sich in der Praxis zweifelsohne bewährt. Warum braucht man noch das multidimensionale Modell? Erklären Sie die egriffe ROLAP, MOLAP. Data Warehousing und Mining 87 Data Warehousing und Mining 88