Upload
stanislaus-langenberg
View
212
Download
0
Embed Size (px)
Citation preview
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Anfragen an multidimensonale Daten
Alexander Heidrich - BID809.06.2005
09.06.2005 Anfragen an multidimensionale Daten 2
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Inhaltsübersicht• Motivation• OLAP-Operationen• Umsetzung in Standards
– SQL– MDX
• Anfragetypen und -verarbeitung• Fragen? / Diskussion!
09.06.2005 Anfragen an multidimensionale Daten 3
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Motivation• Daten sind im Data
Warehouse Wie kommt man nun an seine Informationen?
• Theoretische Grundlagen• Welche Erweiterungen
der vorhandenen (Datenbank-)mittel gibt es? Wie werden sie benutzt?
09.06.2005 Anfragen an multidimensionale Daten 4
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Inhaltsübersicht• Motivation• OLAP-Operationen• Umsetzung in Standards
– SQL– MDX
• Anfragetypen und -verarbeitung• Fragen? / Diskussion!
09.06.2005 Anfragen an multidimensionale Daten 5
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
OLAP-Operationen• Online Analytic Processing• Werkzeuge und Technologien, mit
denen ein zugrundeliegendes DW benutzerfreundlich analysiert und abgefragt werden kann
• eingesetzt zur Unterstützung von Managemententscheidungen (decision support)
09.06.2005 Anfragen an multidimensionale Daten 6
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
OLAP-Operationen: Ausgangssituation
09.06.2005 Anfragen an multidimensionale Daten 7
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
OLAP-Operationen• Roll-Up – Wechsel
auf eine übergeordnete Betrachtungsebene
• Drill-Down – Wechsel auf eine untergeordnete Betrachtungsbene
09.06.2005 Anfragen an multidimensionale Daten 8
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
OLAP-Operationen
• Drill-Across – Wechseln des betrachteten Fakts unter Beibehaltung der Betrachtungsebene
09.06.2005 Anfragen an multidimensionale Daten 9
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
OLAP-Operationen• Slice – Zugriff auf
Daten einer extrahierten Schicht
09.06.2005 Anfragen an multidimensionale Daten 10
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
OLAP-Operationen
• Dice – Zugriff auf Teilwürfel
09.06.2005 Anfragen an multidimensionale Daten 11
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
OLAP-Operationen• Pivotierung – Drehen
des Würfels durch Vertauschen der Dimensionen
09.06.2005 Anfragen an multidimensionale Daten 12
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Inhaltsübersicht• Motivation• OLAP-Operationen• Umsetzung in Standards
– SQL– MDX
• Anfragetypen und -verarbeitung• Fragen? / Diskussion!
09.06.2005 Anfragen an multidimensionale Daten 13
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Umsetzung in Standards - SQL• SQL-OLAP-Erweiterungen (seit SQL:1999)
– (erweiterte) Gruppierungsfunktionalität• GROUP BY• GROUPINGSETS• GROUPING()• ROLLUP• CUBE
– SQL-OLAP-Funktionen• Aggregate, Partitioning, Windows, Ranking
• IBM und Oracle an Standardisierung beteiligt integriert in DB2 und Oracle (DBMS)
09.06.2005 Anfragen an multidimensionale Daten 14
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Beispieldaten
09.06.2005 Anfragen an multidimensionale Daten 15
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Aggregate• Aggregatfunktionen COUNT(), SUM(), MIN(), MAX(), AVG()
• Funktionen liefern in dieser Anwendung nur einen einzelnen Wert
• Verwendung von GROUP BY
09.06.2005 Anfragen an multidimensionale Daten 16
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: GROUP BY – Beispiel
09.06.2005 Anfragen an multidimensionale Daten 17
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: GROUPING SETS• GROUP BY immer noch umständlich bei
der Erzeugung von verschiedenen Gruppierungen (z.B. (Jahr, Land), (Jahr), (Jahr, Land, Verkäufe), etc.)
• Lösung: GROUPING SETS Gruppierungskombinationen
09.06.2005 Anfragen an multidimensionale Daten 18
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: GROUPING SETS – Beispiel
09.06.2005 Anfragen an multidimensionale Daten 19
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: ROLLUP-Operator
• Erweiterung der GROUP-BY-Syntax um ROLLUP-Operator• erzeugt hierarchisch multidimensionale Gruppierung• GROUPING()-Funktion zur Indentifizierung von NULL-Werten
09.06.2005 Anfragen an multidimensionale Daten 20
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: CUBE-Operator• Vorschlag von
Microsoft und IBM• Erweiterung der
GROUP-BY-Syntax um den CUBE-Operator
• N-Dimensionale Generalisierung der einfachen Aggregatfunktionen
09.06.2005 Anfragen an multidimensionale Daten 21
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
CUBE
entsprechend GROUPING SETS( (),(Jahr),(Land),(Kategorie),(Jahr,Land),(Jahr, Kategorie),(Land,Kategorie),(Jahr,Land, Kategorie))
09.06.2005 Anfragen an multidimensionale Daten 22
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Cube
09.06.2005 Anfragen an multidimensionale Daten 23
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: OLAP-Funktionen• mit SQL:1999 eingeführt• umfassen:
– Aggregate– Partionierung– Window (Bildung dynamischer Fenster)– Ranking
• Kernkonstrukt: Over-Klausel
09.06.2005 Anfragen an multidimensionale Daten 24
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Over-Klausel
09.06.2005 Anfragen an multidimensionale Daten 25
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Over() – Beispiel
• Over() Aggregation über alle Tupel
• Aggregatbildung, keine weitere Verdichtung
09.06.2005 Anfragen an multidimensionale Daten 26
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Over() mit Partionierung - Beispiel
• Partitionierung ähnlich Gruppierung
PARTITON BY <attribute list>
09.06.2005 Anfragen an multidimensionale Daten 27
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Over() Bildung dynamischer Fenster
OVER(ORDER BY <attribute list> [<window-spec>])
09.06.2005 Anfragen an multidimensionale Daten 28
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Over() Bildung dynamischer Fenster - Beispiel
09.06.2005 Anfragen an multidimensionale Daten 29
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Ranking• Bestimmung der Postion eines Tupels in
der Ergebnismenge• Duplikate erhalten den gleichen Rang• RANK() (mit Lücken) DENSE_RANK()
(ohne Lücken)
09.06.2005 Anfragen an multidimensionale Daten 30
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Ranking - Beispiel
09.06.2005 Anfragen an multidimensionale Daten 31
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
SQL: Umsetzung in DB2 und Oracle
• Behauptung: DB2 und Oracle hinsichtlich den in SQL:1999 definierten OLAP-Erweiterungen/-funktionen gleich
• SQL:2003 bringt weitere analytische Funktionen bislang nur von/in Oracle implementiert
09.06.2005 Anfragen an multidimensionale Daten 32
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
MDX• MDX = MultiDimensional eXpressions• orientiert sich stark an SQL-Syntax und
MDDM• Entwicklung/Vorschlag von Microsoft
09.06.2005 Anfragen an multidimensionale Daten 33
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
MDX
• Dimensions (Select)– max. 64– on COLUMNS, ROWS, …
• Cube (From)• Slicer (Where)
– Auswahl der darzustellenden Werte
09.06.2005 Anfragen an multidimensionale Daten 34
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
MDX: Elemente• Measures Fakten
– als Dimension modelliert• Dimensions Dimensionen
– Level: Klassifikationsstufe (Jahr)– Member: Klassifikationsknoten (2003)
• Syntax– {} Sets– [] Einschluß von Strings
09.06.2005 Anfragen an multidimensionale Daten 35
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
MDX: Navigationsfunktionen• Navigationsfunktionen
– Members: Knoten einer Klassifikationsstufe– Children: Kinderknoten eines Klassifikationsknotens– Parent: Elternknoten eines KlassifikationsknotensSELECT {[Kategorie].MEMBERS} Autos,
ComputerSELECT {[ATHLONXP].PARENT} CPUSELECT {[CPU].CHILDREN} ATHLON64, ATHLONXP, PENTIUM4
09.06.2005 Anfragen an multidimensionale Daten 36
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
MDX: Beispiele• Drill-Down
• Roll-Up
• Crossjoin
09.06.2005 Anfragen an multidimensionale Daten 37
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
MDX: BeispielCROSSJOIN
Drill-Down
Roll-Up
09.06.2005 Anfragen an multidimensionale Daten 38
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
MDX: weitere Funktionen• TOPCOUNT Ergebnisbereich einer
Dimension einschränken• FILTER Einschränkung über beliebige
Bedingungen• + viele weitere Funktionen sehr
mächtige Sprache mit hoher Komplexität
09.06.2005 Anfragen an multidimensionale Daten 39
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Inhaltsübersicht• Motivation• OLAP-Operationen• Umsetzung in Standards
– SQL– MDX
• Anfragetypen und -verarbeitung• Fragen? / Diskussion!
09.06.2005 Anfragen an multidimensionale Daten 40
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Anfragetypen
09.06.2005 Anfragen an multidimensionale Daten 41
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Methoden der Abfrageverarbeitung – Star Join
• Star Schema als Grundlage– sehr große Faktentabelle– kleine, voneinander
unabhängige Dimensionstabellen
• Verbund zwischen n Dimensionstabellen und der Faktentabelle, Restriktionen über Dimensionstabellen
• typisches Muster für DW-Anfragen
09.06.2005 Anfragen an multidimensionale Daten 42
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Star Join: Aufbau
• SELECT-Klausel– Kenngrößen– Granularitäten
• FROM-Klausel– Fakten- und Dimensionstabellen
• WHERE-Klausel– Verbundbedingungen– Restriktionen
09.06.2005 Anfragen an multidimensionale Daten 43
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Star Join: Beispiel
SELECTGeographie.Region, Zeit.Monat, SUM(Verkaeufe)
FROMVerkauf, Zeit, Produkte, Geographie
WHEREVerkauf.Produkt_ID = Produkt.ProduktID ANDVerkauf.Zeit_ID = Zeit.ZeitID ANDVerkauf.Geographie_ID = Geographie.GeographieID ANDProdukt.Produktkategorie = 'Waschgeräte' ANDGeographie.Land = 'Deutschland' AND Zeit.Jahr = 2000
09.06.2005 Anfragen an multidimensionale Daten 44
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Star Join: Beispiel
09.06.2005 Anfragen an multidimensionale Daten 45
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Inhaltsübersicht• Motivation• OLAP-Operationen• Umsetzung in Standards
– SQL– MDX
• Anfragetypen und -verarbeitung• Fragen? / Diskussion!
L e h r s t u h l f ü r D a t e n b a n k e n u n d I n f o r m a t i o n s s y s t e m e Blockseminar „Data Warehousing“ im SoSe 2005
Fragen? Diskussion!