OLAP-Operationen

Werbung
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Anfragen an multidimensonale Daten
Alexander Heidrich - BID8
09.06.2005
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Inhaltsübersicht
• Motivation
• OLAP-Operationen
• Umsetzung in Standards
– SQL
– MDX
• Anfragetypen und -verarbeitung
• Fragen? / Diskussion!
09.06.2005
Anfragen an multidimensionale Daten
2
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
3
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Inhaltsübersicht
• Motivation
• OLAP-Operationen
• Umsetzung in Standards
– SQL
– MDX
• Anfragetypen und -verarbeitung
• Fragen? / Diskussion!
09.06.2005
Anfragen an multidimensionale Daten
4
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
5
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
OLAP-Operationen:
Ausgangssituation
09.06.2005
Anfragen an multidimensionale Daten
6
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
OLAP-Operationen
• Roll-Up – Wechsel
auf eine
übergeordnete
Betrachtungsebene
• Drill-Down –
Wechsel auf eine
untergeordnete
Betrachtungsbene
09.06.2005
Anfragen an multidimensionale Daten
7
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
OLAP-Operationen
• Drill-Across – Wechseln des betrachteten
Fakts unter Beibehaltung der
Betrachtungsebene
09.06.2005
Anfragen an multidimensionale Daten
8
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
OLAP-Operationen
• Slice – Zugriff auf
Daten einer
extrahierten Schicht
09.06.2005
Anfragen an multidimensionale Daten
9
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
OLAP-Operationen
• Dice – Zugriff auf Teilwürfel
09.06.2005
Anfragen an multidimensionale Daten
10
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
OLAP-Operationen
• Pivotierung –
Drehen des Würfels
durch Vertauschen
der Dimensionen
09.06.2005
Anfragen an multidimensionale Daten
11
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Inhaltsübersicht
• Motivation
• OLAP-Operationen
• Umsetzung in Standards
– SQL
– MDX
• Anfragetypen und -verarbeitung
• Fragen? / Diskussion!
09.06.2005
Anfragen an multidimensionale Daten
12
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
13
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Beispieldaten
09.06.2005
Anfragen an multidimensionale Daten
14
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
15
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: GROUP BY – Beispiel
09.06.2005
Anfragen an multidimensionale Daten
16
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
17
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: GROUPING SETS – Beispiel
09.06.2005
Anfragen an multidimensionale Daten
18
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: ROLLUP-Operator
• Erweiterung der GROUP-BY-Syntax um ROLLUP-Operator
• erzeugt hierarchisch multidimensionale Gruppierung
• GROUPING()-Funktion zur Indentifizierung von NULLWerten
09.06.2005
Anfragen an multidimensionale Daten
19
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: CUBE-Operator
• Vorschlag von
Microsoft und IBM
• Erweiterung der
GROUP-BY-Syntax
um den CUBEOperator
• N-Dimensionale
Generalisierung der
einfachen
Aggregatfunktionen
09.06.2005
Anfragen an multidimensionale Daten
20
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
CUBE
entsprechend GROUPING SETS(
(),(Jahr),(Land),(Kategorie),
(Jahr,Land),(Jahr, Kategorie),(Land,Kategorie),
(Jahr,Land, Kategorie))
09.06.2005
Anfragen an multidimensionale Daten
21
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Cube
09.06.2005
Anfragen an multidimensionale Daten
22
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
23
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Over-Klausel
09.06.2005
Anfragen an multidimensionale Daten
24
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Over() – Beispiel
• Over()  Aggregation
über alle Tupel
• Aggregatbildung, keine
weitere Verdichtung
09.06.2005
Anfragen an multidimensionale Daten
25
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Over() mit Partionierung - Beispiel
• Partitionierung ähnlich
Gruppierung
PARTITON BY <attribute list>
09.06.2005
Anfragen an multidimensionale Daten
26
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Over() Bildung dynamischer
Fenster
OVER(ORDER BY <attribute list> [<window-spec>])
09.06.2005
Anfragen an multidimensionale Daten
27
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Over() Bildung dynamischer
Fenster - Beispiel
09.06.2005
Anfragen an multidimensionale Daten
28
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
29
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
SQL: Ranking - Beispiel
09.06.2005
Anfragen an multidimensionale Daten
30
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
31
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
MDX
• MDX = MultiDimensional eXpressions
• orientiert sich stark an SQL-Syntax und
MDDM
• Entwicklung/Vorschlag von Microsoft
09.06.2005
Anfragen an multidimensionale Daten
32
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
MDX
• Dimensions (Select)
– max. 64
– on COLUMNS, ROWS, …
• Cube (From)
• Slicer (Where)
– Auswahl der darzustellenden Werte
09.06.2005
Anfragen an multidimensionale Daten
33
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
34
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
MDX: Navigationsfunktionen
• Navigationsfunktionen
– Members: Knoten einer Klassifikationsstufe
– Children: Kinderknoten eines Klassifikationsknotens
– Parent: Elternknoten eines Klassifikationsknotens
SELECT {[Kategorie].MEMBERS}  Autos,
Computer
SELECT {[ATHLONXP].PARENT}  CPU
SELECT {[CPU].CHILDREN}  ATHLON64,
ATHLONXP, PENTIUM4
09.06.2005
Anfragen an multidimensionale Daten
35
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
MDX: Beispiele
• Drill-Down
• Roll-Up
• Crossjoin
09.06.2005
Anfragen an multidimensionale Daten
36
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
MDX: Beispiel
CROSSJOIN
Drill-Down
Roll-Up
09.06.2005
Anfragen an multidimensionale Daten
37
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
38
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Inhaltsübersicht
• Motivation
• OLAP-Operationen
• Umsetzung in Standards
– SQL
– MDX
• Anfragetypen und -verarbeitung
• Fragen? / Diskussion!
09.06.2005
Anfragen an multidimensionale Daten
39
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Anfragetypen
09.06.2005
Anfragen an multidimensionale Daten
40
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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 DWAnfragen
09.06.2005
Anfragen an multidimensionale Daten
41
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
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
42
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Star Join: Beispiel
SELECT
Geographie.Region, Zeit.Monat, SUM(Verkaeufe)
FROM
Verkauf, Zeit, Produkte, Geographie
WHERE
Verkauf.Produkt_ID = Produkt.ProduktID AND
Verkauf.Zeit_ID = Zeit.ZeitID AND
Verkauf.Geographie_ID = Geographie.GeographieID AND
Produkt.Produktkategorie = 'Waschgeräte' AND
Geographie.Land = 'Deutschland' AND Zeit.Jahr = 2000
09.06.2005
Anfragen an multidimensionale Daten
43
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Star Join: Beispiel
09.06.2005
Anfragen an multidimensionale Daten
44
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Inhaltsübersicht
• Motivation
• OLAP-Operationen
• Umsetzung in Standards
– SQL
– MDX
• Anfragetypen und -verarbeitung
• Fragen? / Diskussion!
09.06.2005
Anfragen an multidimensionale Daten
45
Lehrstuhl für Datenbanken und
Blockseminar „Data Warehousing“ im SoSe 2005
Informationssysteme
Fragen? Diskussion!
Herunterladen