Data Warehouses

Werbung
Rückblick
§ Unterstützung der Unternehmenssteuerung durch
Data Warehouses mit ganzheitlicher Sicht
auf Daten aus operativen Systemen
§ Online Transaction Processing (OLTP) und Online
Analytical Processing unterscheiden sich deutlich
§ Datenintegration als eine wichtige Herausforderung
§ Multidimensional Entity-Relationship-Model zur
konzeptuellen Modellierung von Data Warehouses
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
34
Implementierung von Data Warehouses
§ Verschiedene Ansätze zur Speicherung von Datenwürfeln
§ Relationales OLAP (ROLAP) bildet Datenwürfel
auf Relationen ab und verwendet RDBMS
§ Multidimensionales OLAP (MOLAP) speichert Datenwürfel
direkt in Form eines mehrdimensionalen Arrays
§ Hybrides OLAP (HOLAP) verwendet eine Kombination
von ROLAP und MOLAP (z.B. Detaildaten relational
und vorberechnete Aggregate mehrdimensional)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
35
Snowflake-Schema
§ Snowflake-Schema setzt Fakten in eine Faktentabelle
und jede Dimension in mehrere normalisierte
Dimensionstabellen um
§ Faktentabelle enthält Kennzahl sowie Fremdschlüssel
der jeweils niedrigsten Klassifikationsstufe
§ Dimensionstabelle enthält eine ID, beschreibende
Attribute sowie Fremdschlüssel der jeweils
nächsthöheren Klassifikationsstufe
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
36
Snowflake-Schema
Multidimensionales Datenmodell
Relationale Umsetzung des multidimensionalen Datenmodells
Snowflake-Schema: Beispiel
Dimension "Produkt"
Produktkategorie
1
PK_ID
PK_Bezeichnung
*
Produktgruppe
PG_ID
PG_Bezeichnung
PG_PKategorie_ID
1
Dimension "Kunde"
Kundengruppe
Kunde
1
KG_ID
KG_Bezeichnung
*
*
Bundesland
B_ID
B_Name
B_Land_ID
1
*
Stadt
S_ID
S_Name
S_BLand_ID
1
1
K_ID
K_Name
K_Wohnort
K_Strasse
K_Geschlecht
K_KGruppe_ID
1
*
Filiale
F_ID
F_Filiale
F_Stadt_ID
1
*
*
Verkauf
V_Anzahl
V_Kanal
V_Produkt_ID
V_Zeit_ID
V_Kunden_ID
V_Filial_ID
Produkt
P_ID
P_Bezeichnung
P_Verkaufspreis
P_Einkaufspreis
P_Rabatt
P_Steuern
P_PGruppe_ID
*
*
*
1
Zeit
Z_ID
Z_Datum
Dimension "Zeit"
1
Land
L_ID
L_Name
Dimension "Ort"
c Sattler / Saake / Köppen
Data-Warehouse-Technologien
Letzte Änderung: 08.11.2013
3–47
Quelle: Köppen, Saake und Sattler [2, S.58]
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
37
Star-Schema
§ Star-Schema setzt Fakten in eine Faktentabelle
und jede Dimension in eine denormalisierte
Dimensionstabelle um
§ Faktentabelle enthält Kennzahl sowie Fremdschlüssel der
jeweils zugehörigen Einträge in den Dimensionstabellen
§ Dimensionstabelle enthält ID sowie beschreibende
Attribute für eine der niedrigsten Klassifikationsstufe
und allen höheren Klassifikationsstufen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
38
Star-Schema
Multidimensionales Datenmodell
Relationale Umsetzung des multidimensionalen Datenmodells
Star-Schema: Beispiel
Kunde
1
K_ID
K_Name
K_Wohnort
K_Strasse
K_Geschlecht
K_Kundengruppe
Ort
O_ID
O_Filiale
O_Stadt
O_Bundesland
O_Land
c Sattler / Saake / Köppen
1
*
*
Verkauf
V_Anzahl
V_Kanal
V_Produkt_ID
V_Zeit_ID
V_Kunden_ID
V_Ort_ID
1
Produkt
P_ID
P_Bezeichnung
P_Verkaufspreis
P_Einkaufspreis
P_Rabatt
P_Steuern
P_Produktgruppe
P_Produktkategorie
1
Zeit
*
*
Data-Warehouse-Technologien
Z_ID
Z_Datum
Letzte Änderung: 08.11.2013
3–50
Quelle: Köppen, Saake und Sattler [2, S.59]
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
39
Snowflake-Schema vs. Star-Schema
§ Snowflake-Schema hält Dimensionstabellen in 3NF
und vermeidet somit redundante Datenspeicherung;
beim Star-Schema sind sie nur in 1NF, wodurch
Redundanzen und Anomalien entstehen
§ Star-Schema kann, dank seiner Denormalisierung,
Anfragen bzgl. höherer Klassifikationsstufen direkt,
ohne zusätzliche Joins bearbeiten
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
40
Snowflake-Schema vs. Star-Schema
§ Beispielanfrage im Snowflake-Schema (5 Joins)
1
2
3
4
5
6
SELECT
FROM
WHERE
AND
AND
GROUP BY
S_Name , YEAR ( Z_Datum ) , SUM ( V_Anzahl )
Verkauf , Filiale , Stadt , Produkt , Produktgruppe , Zeit
V_Produkt_ID = P_ID AND P_PGruppe_ID = PG_ID
V_Filial_ID = F_ID AND F_Stadt_ID = S_ID
V_Zeit_ID = Z_ID AND PG_Bezeichnung = ’ Wein ’
S_Name , YEAR ( Z_Datum )
§ Beispielanfrage im Star-Schema (3 Joins)
1
2
3
4
5
SELECT
FROM
WHERE
AND
GROUP BY
O_Stadt , YEAR ( Z_Datum ) , SUM ( V_Anzahl )
Verkauf , Ort , Produkt , Zeit
V_Produkt_ID = P_ID AND V_Zeit_ID = Z_ID
V_Ort_ID = O_ID AND P_Produktgruppe = ’ Wein ’
O_Stadt , YEAR ( Z_Datum )
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
41
Galaxie-Schema
§ Snowflake-Schema und Star-Schema beinhalten eine
Faktentabelle, die Kennzahlen in den gleichen
Dimensionen speichert
§ Galaxie-Schema als Erweiterung des Snowflake-Schemas
beinhaltet mehrere Faktentabellen, die Kennzahlen in
verschiedenen Dimensionen speichern
§ Vorberechnete Aggregate (z.B. über alle Filialen hinweg)
als eine Quelle zusätzlicher Faktentabellen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
42
Multidimensionales Datenmodell
Relationale Umsetzung des multidimensionalen Datenmodells
Galaxie-Schema
Galaxie-Schema: Beispiel
1
Land
L_ID
L_Name
Kunde
Bundesland
B_ID
B_Name
B_Land_ID
*
*
*
1
*
*
Filiale
F_ID
F_Filiale
F_Stadt_ID
Verkauf
V_Anzahl
V_Kanal
V_Produkt_ID
V_Zeit_ID
V_Kunden_ID
V_Filial_ID
*
*
1
1
*
c Sattler / Saake / Köppen
*
1
*
Stadt
S_ID
S_Name
S_BLand_ID
1
1
K_ID
K_Name
K_Wohnort
K_Strasse
K_Geschlecht
K_KGruppe_ID
1
1
Produktkategorie
PK_ID
PK_Bezeichnung
Kundengruppe
KG_ID
KG_Bezeichnung
1
Summe_Verkauf
SV_Anzahl
SV_Kanal
SV_Monat_ID
SV_PGruppe_ID
SV_BLand_ID
Data-Warehouse-Technologien
1
*
Produktgruppe
PG_ID
PG_Bezeichnung
PG_PKategorie_ID
Produkt
P_ID
P_Bezeichnung
P_Verkaufspreis
P_Einkaufspreis
P_Rabatt
P_Steuern
P_PGruppe_ID
1
1
*
Zeit
Z_ID
Z_Datum
Z_Monat_ID
Z_Monat
*
Letzte Änderung: 08.11.2013
3–67
Quelle: Köppen, Saake und Sattler [2, S.63]
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
43
4.4 Anfragen an Data Warehouses
§ Analytische Anfragen an Data Warehouses wählen einen
mehrdimensionalen Teilbereich von Fakten aus
und berechnen Aggregationen auf
höheren Klassifikationsstufen
§ Beispiel: Umsatz je Produktkategorie in allen europäischen
Filialen in den Monaten seit Januar 2010
§ Beispiel: Verkaufte Einheiten je Produkt über alle
Filialen pro Jahr seit 2005
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
44
Anfragen an Data Warehouses
§ Analytische Anfragen betreffen oft eine große Menge von
Daten (z.B. alle Verkäufe seit 2010)
§ Antwortzeiten sollen interaktiv (d.h. kürzer 5 Sekunden)
sein, um eine Interaktion mit dem Datenwürfel zu erlauben
§ Betrachtung eines kleineren Teilwürfels
§ Verdichtung der Kennzahlen zu höherer Klassifikationsstufe
§ etc.
§ Data Warehouses setzen auf Vorberechnungen,
um diese Anforderungen zu erfüllen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
45
OLAP-Operatoren
§ Datenwürfel dient nicht nur der Modellierung, sondern
es lassen sich eine Reihe von Operatoren auf ihm
definieren, die dann effizient umgesetzt werden müssen
§ Pivotieren/Rotieren des gesamten Datenwürfels
(PIVOT)
§ Navigieren aufwärts/abwärts entlang der Dimensionen
(ROLL UP / DRILL DOWN)
§ Betrachten eines Teilwürfels oder einer Scheibe
(DICE / SLICE)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
46
Multidimensionales Datenmodell
Operationen zur Datenanalyse
PIVOT
Pivotierung
/ Rotation
§ Pivotieren/Rotieren
des
gesamtender
Datenwürfels
Drehen des Würfels durch
Vertauschen
Dimensionen
Analyse der Daten aus verschiedenen Perspektiven
Produkt
Zeit
Softdrink
Wein
Bier
2009
2010
2011
2009
Bier
2010
Wein
2011
Softdrink
Zeit
nse lt
h
c a
Sa n h
A
T
n
ge
n
ri
hü
e
ay
rn
Ort
Produkt
B
c Köppen,
Sattler /Saake
Saakeund
/ Köppen
Quelle:
Sattler [2, S.126]
Data-Warehouse-Technologien
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
en
s
ch alt
Sa nh
A
T
n
ge
n
ri
hü
y
Ba
er
n
Ort
Letzte Änderung: 08.11.2013
3–34
47
DRILL DOWN
und ROLL
Multidimensionales
Datenmodell UP
Operationen zur Datenanalyse
Roll-Up
und Drill-Down
§ Navigieren
aufwärts/abwärts entlang der Dimensionen
Drill Down
Produkt
Produkt
Softdrink
Wein
Bier
Softdrink
Wein
Bier
Roll Up
2009
Q1
2010
2009
2011
Zeit
Q2
Q3
T
r in
hü
n
ge
B
er
ay
n
Q4
Ort
2010
...
en
s
ch alt
Sa nh
A
2011
Zeit
nse lt
h
c a
Sa nh
A
T
n
ge
n
ri
hü
r
ye
a
B
n
Ort
Quelle: Köppen, Saake und Sattler [2, S.127]
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
48
SLICE
Multidimensionales Datenmodell
Operationen zur Datenanalyse
§ Betrachten einer Scheibe des Datenwürfels
Slice
Produkt
Produkt
Softdrink
Wein
Bier
Softdrink
Wein
Bier
2009
2009
2010
2010
2011
2011
Zeit
nse lt
h
c a
Sa nh
A
T
ri
hü
en
ng
B
n
er
ay
Ort
Zeit
en
s
ch alt
Sa nh
A
T
n
ge
n
ri
hü
r
ye
a
B
n
Ort
Quelle: Köppen, Saake und Sattler [2, S.127]
c Sattler / Saake / Köppen
Data-Warehouse-Technologien
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Letzte Änderung: 08.11.2013
3–38
49
DICE
Datenmodell
Operationen
Datenanalyse
§ Betrachten Multidimensionales
eines Teilwürfels
deszurDatenwürfels
Dice
Produkt
Produkt
Softdrink
Wein
Bier
Softdrink
Wein
Bier
2009
2009
2010
2010
2011
2011
Zeit
nse lt
h
c a
Sa nh
A
T
n
ge
n
ri
hü
B
e
ay
rn
Ort
Zeit
en
s
ch alt
Sa n h
A
T
n
ge
n
ri
hü
B
er
ay
n
Ort
Quelle: Köppen, Saake und Sattler [2, S.128]
Datenbanken
& Informationssysteme
Warehouses
c Sattler
/ Saake / Köppen / Kapitel 4: Data
Data-Warehouse-Technologien
Letzte Änderung: 08.11.2013
3–39
50
Umsetzung in SQL
§ Data-Warehouse-Systeme vertrauen meist auf RDBMS
zur Speicherung und zum Anfragen der Daten
§ Bei Verwendung eines Star-Schema ergibt sich folgendes
Anfragemuster zum Berechnen eines Datenwürfels
§ (n+1)-Wege-Verbund zwischen n Dimensionstabellen
und einer Faktentabelle
§ Restriktionen über den Dimensionstabellen
§ Aggregation und Gruppierung über Kennzahlen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
51
Umsetzung in SQL
§ Beispiel:
1
2
3
4
5
SELECT
FROM
WHERE
AND
GROUP BY
O_Stadt , YEAR ( Z_Datum ) , SUM ( V_Anzahl )
Verkauf , Ort , Produkt , Zeit
V_Produkt_ID = P_ID AND V_Zeit_ID = Z_ID
V_Ort_ID = O_ID AND P_Produktgruppe = ’ Wein ’
O_Stadt , YEAR ( Z_Datum )
§ In den Standards SQL:1999 und SQL:2003 wurden
Erweiterungen speziell für OLAP eingeführt
§ zusätzliche (statistische) Aggregatfunktionen
§ CUBE und ROLLUP Operatoren
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
52
Aggregatfunktionen
§ Zusätzliche statistische Aggregatfunktionen in SQL:2003
§ VAR_POP(A) und VAR_SAMP(A) zum Berechnen
der Varianz auf Population oder Stichprobe
§ STDDEV_POP(A) und STDDEV_SAMP(A) zum Berechnen
der Standardabweichung auf Population oder Stichprobe
§ COVAR_POP(A,B) und COVAR_SAMP(A,B) zum Berechnen
der Kovarianz auf Population oder Stichprobe
§ CORR(A,B) zum Berechnen des Korrelationskoeffizienten
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
53
CUBE
Anfragen an Data Warehouse
Gruppierung und Aggregation
Berechnung von Zwischen- und Gesamtsummen
§ Analysen benötigen oft Zwischen- und Gesamtsummen
PGruppe
Jahr
Bundesland
Wein
2010
Sachsen-Anhalt
Thüringen
Umsatz
PGruppeJahrBundesland
45
43
Umsatz
PGruppeJahr
Umsatz
PGruppe
88
2011
Sachsen-Anhalt
47
47
135
Bier
2011
Thüringen
42
42
42
Quelle: Köppen, Saake und Sattler [2, S.132]
c Sattler / Saake / Köppen
Data-Warehouse-Technologien
Letzte Änderung: 08.11.2013
5–13
§ Je Zwischen- oder Gesamtsumme ist eine separate
Unteranfrage an das RDBMS notwendig
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
54
CUBE
§ Beispiel: Zwischen- und Gesamtsummen mittels
Vereinigung von Unteranfragen
1
2
3
4
5
6
-- Zwischensumme (1) ü ber alle Produktgruppen , Jahre und Bundesl ä nder
SELECT P_Produktgruppe AS PGruppe , YEAR ( Z_Datum ) , O_Bundesland ,
SUM ( V_Anzahl * P_Verkaufspreis ) AS Umsatz
FROM Verkauf , Zeit , Produkt , Ort
WHERE V_Zeit_ID = Z_ID AND V_Produkt_ID = P_ID AND V_Ort_ID = O_ID
GROUP BY P_Produktgruppe , YEAR ( Z_Datum ) , O_Bundesland
7
8
UNION ALL
9
10
11
12
13
14
15
16
-- Zwischensumme (2) ü ber alle Produktgruppen und Jahre
SELECT P_Produktgruppe AS PGruppe , YEAR ( Z_Datum ) ,
CAST ( NULL AS VARCHAR (50)) ,
SUM ( V_Anzahl * P_Verkaufspreis ) AS Umsatz
FROM Verkauf , Zeit , Produkt , Ort
WHERE V_Zeit_ID = Z_ID AND V_Produkt_ID = P_ID AND V_Ort_ID = O_ID
GROUP BY P_Produktgruppe , YEAR ( Z_Datum )
17
18
UNION ALL
19
20
...
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
55
CUBE
§ Vollständige Berechnung aller Zwischen- und
Gesamtsummen führt bei n Gruppierattributen
zu 2n auszuwertenden Unteranfragen
§ CUBE-Operator berechnet für gegebene Menge von
Gruppierattributen {A1, ..., An} Summen für
alle Teilmengen der Gruppierattribute
{}
{A1 }, {A2 }, {A3 }, . . .
{A1 , A2 }, {A1 , A3 }, . . .
..
.
{A1 , . . . An }
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
56
CUBE
§ Beispiel: Zwischen- und Gesamtsummen mittels
Verwendung des CUBE-Operators
1
2
3
4
5
SELECT P_Produktgruppe AS PGruppe , O_Bundesland , YEAR ( Z_Datum ) ,
SUM ( V_Anzahl * P_Verkaufspreis ) AS Umsatz
FROM Verkauf , Zeit , Produkt , Ort
WHERE V_Zeit_ID = Z_ID AND V_Produkt_ID = P_ID AND V_Ort_ID = O_ID
GROUP BY CUBE ( P_Produktgruppe , O_Bundesland , YEAR ( Z_Datum ))
§ CUBE-Operator ist interdimensional, d.h. Gruppierattribute
stammen von verschiedenen Klassifikationsstufen
unterschiedlicher Dimensionen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
57
ROLLUP
§ ROLLUP-Operator als intradimensionales Pendant zum
CUBE-Operator berechnet Zwischen- und Gesamtsummen
entlang verschiedener Klassifikationsstufen
einer Dimension
§ Beispiel: Zwischen- und Gesamtsummen für
Bundesländer, Städte und Filialen
1
2
3
4
5
6
7
SELECT O_Bundesland , O_Stadt , O_Filiale ,
SUM ( V_Anzahl * P_Verkaufspreis ) AS Umsatz
FROM Verkauf , Zeit , Produkt , Ort
WHERE V_Produkt_ID = P_ID AND V_Ort_ID = O_ID
AND V_Zeit_ID = Z_ID AND YEAR ( Z_Datum ) = 2011
AND P_Produktgruppe =
Wein
GROUP BY ROLLUP ( O_Bundesland , O_Stadt , O_Filiale )
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
58
MDX
§ Multidimensional Expressions (MDX) als von Microsoft
vorgeschlagene Anfragesprache für multidimensionale
Daten, die auch von anderen Herstellern unterstützt wird
§ MDX-Anfrage nach folgendem Muster
1
2
3
SELECT < Achsen >
FROM <Cube>
WHERE < Slicer >
zur Spezifikation eines Datenwürfels
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
59
MDX
§ Achsen-Klausel spezifiziert Achsen des Datenwürfels
§ Aufzählung z.B. {ProduktA, ProduktC}
§ Mengenausdruck z.B. Produkte.CHILDREN
§ Kreuzprodukt z.B. CROSSJOIN(Produkte, Regionen)
§ Cube-Klausel spezifiziert Faktentabelle als Datenquelle
§ Slicer-Klausel erlaubt eine Selektion der Daten gemäß
Dimensionen, die nicht als Achsen verwendet werden
(z.B. Measures.[Umsatz] betrachtet nur Umsätze)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
60
MDX
§ Beispiel ([2], S. 149)
1
2
3
4
5
6
7
8
9
10
11
§
SELECT CROSSJOIN (
{ Produkt . Kategorie . Gruppe .[ Rotwein ] ,
Produkt . Kategorie . Gruppe .[ Wei ß wein ]} ,
{ Ort .[ Sachsen - Anhalt ]. CHILDREN ,
Ort .[ Th ü ringen ]})
ON COLUMNS ,
{ Zeit .[2011].[ Q1 ]. CHILDREN , Zeit .[2011].[ Q2 ] ,
Zeit .[2011].[ Q3 ] , Zeit .[2011].[ Q4 ]. CHILDREN }
ON ROWS
FROM Verkauf
WHERE ( Measures .[ Umsatz ])
Achse 1: Kreuzprodukt aus Produktkategorien Rotwein und Weißwein mit
Orten in Sachsen-Anhalt und Thüringen
§
Achse 2: Monate im ersten Quartal von 2011, zweites und drittes Quartal von
2011, Monate im vierten Quartal von 2011
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
61
MDX
§ Beispiel ([2], S. 149)
1
2
3
4
5
6
7
8
9
10
11
SELECT CROSSJOIN (
{ Produkt . Kategorie . Gruppe .[ Rotwein ] ,
Produkt . Kategorie . Gruppe .[ Wei ß wein ]} ,
{ Ort .[ Sachsen - Anhalt ]. CHILDREN ,
Ort .[ Th ü ringen ]})
ON COLUMNS ,
{ Zeit .[2011].[ Q1 ]. CHILDREN , Zeit .[2011].[ Q2 ] ,
Zeit .[2011].[ Q3 ] , Zeit .[2011].[ Q4 ]. CHILDREN }
ON ROWS
FROM Verkauf
WHERE ( Measures .[ Umsatz ])
§
Datenquelle: Faktentabelle Verkauf
§
Slicer: Nur Umsätze werden berücksichtigt
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
62
MDX
Anfragen an Data Warehouse
Multidimensionale Erweiterungen: MDX
§Beispiel
BeispielCUBE
([2], S. 149)
Umsätze 2011
1. Quart.
2. Quart.
3. Quart.
4. Quart.
Jan
Feb
Mär
Okt
Nov
Dez
Rotwein
S.-A.
Magdeb.
14
13
15
42
44
13
14
16
Halle
12
10
14
40
42
12
12
14
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Thür.
25
22
23
82
80
23
24
26
Weißwein
S.-A.
Magdeb.
12
11
11
39
37
10
9
12
Halle
9
9
10
37
35
10
10
11
Thür.
22
21
22
75
73
22
21
20
63
4.5 Implementierungsaspekte
§ Implementierungsansätze für Data-Warehouse-Systeme
§ ROLAP verwendet RDBMS zum Speichern und Anfragen
§ MOLAP speichert Daten als multidimensionales Array
§ HOLAP verwendet Kombination der beiden Ansätze
§ Bitmap-Indizes als zusätzliche Indexstruktur, die
insbesondere für Attribute mit kleiner Anzahl möglicher
Attributwerte und relativ statische Daten geeignet ist
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
64
ROLAP
§ Relationales OLAP (ROLAP) verwendet ein RDBMS,
um Datenwürfel in Fakten- und Dimensionstabellen
zu speichern
§ Vorteile:
§ RDBMS sind ausgereifte Systeme und weit verfügbar
§ geringer Implementierungsaufwand und Kosten
§ Nachteile:
§ Faktentabellen haben, aufgrund von Dimensionsattributen,
einen vergleichsweise hohen Speicherbedarf
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
65
MOLAP
§ Multidimensionales OLAP (MOLAP) verwendet ein
multidimensionales Arrays zur Speicherung
des Datenwürfels
§ Klassifikationsstufen der verschiedenen Dimensionen
müssen intern als ganze Zahlen (0...n) kodiert werden
§ Dimensionsinformation eines Fakts muss dann nicht
separat gespeichert werden, sondern ist aus
seiner Position im multidimensionalen
Array ablesbar
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
66
MOLAP
Speicherstrukturen für Data Warehouse
Multidimensionale Speicherung
fikationshierarchien
§ Datenwürfel als multidimensionales Array, welches dann
mensionswerte umfassen alle Ausprägungen der Dimension:
mittels
in Programmiersprachen)
mente (Blätter)
undLinearisierung
Knoten der höheren(wie
Klassifikationsstufen
oten der als
höheren
Stufen
bilden
weitere (Kennzahlen)
Ebenen
Speicherstrukturen
für Data Warehouse
Multidimensionale
Folge
von
Fakten
gespeichert
wird Speicherung
Linearisierungsreihenfolge
D3
D1
Magdeburg
D2
Halle
Sachsen-Anhalt
Erfurt
Thüringen
Januar
Februar
März
1. Quartal
Quelle: Köppen, Saake und Sattler [2, S.157/159]
/ Saake / Köppen
Data-Warehouse-Technologien
Letzte Änderung: 08.11.2013
c Sattler / Saake / Köppen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
6–22
Data-Warehouse-Technologien
Letzte Änderung: 08.1
67
Bitmap-Indizes
§ Bitmap-Indizes als zusätzliche Form von Indexstruktur
(neben B+-Bäumen und hashbasierten Indizes),
die insbesondere in Data Warehouses
Anwendung findet
§ Bitmap-Indizes geeignet für Attribute mit kleiner Anzahl
möglicher Attributwerte (z.B. Geschlecht, Kategorie)
§ Für jeden möglichen Attributwert wird ein Bitvektor
gespeichert, der Tupel anzeigt (Bit auf 1 gesetzt),
welche diesen Attributwert besitzen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
68
Bitmap-Indizes
§ Beispiel: Weibliche Kunden in Vertriebsgebieten S und W
G:w
V:S
V:W
V:W
V:W
S T
0
W1X
W X
W0X
W X
W1X
W X
W1X
W X
U0V
0
QSS TTR
01
cWW01XXd
cWW XXd
cWW01XXd
cWW XXd
cWW00XXd
cWW XXd
cWW10XXd
cWW XXd
aUU00VVb
10
QSS TTR
00
cWW00XXd
cWW XXd
cWW00XXd
cWW XXd
cWW00XXd
cWW XXd
cWW11XXd
cWW XXd
aUU00VVb
11
·
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
‚
=
S T
0
W1X
W X
W0X
W X
W0X
W X
W1X
W X
U0V
0
69
Bitmap-Indizes
§ Bitvektoren lassen sich kompakt speichern und sehr
effizient mittels Boole‘scher Operationen verknüpfen
§ Bitmap-Indizes haben für Attribut mit wenigen möglichen
Werten einen geringeren Speicherbedarf als
herkömmliche B+-Bäume
§ Bitmap-Indizes sind insbesondere für statische Daten
geeignet; ein Einfügen oder Löschen von Tupeln
erfordert eine Neuberechnung aller Bitvektoren
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
70
Zusammenfassung
§ Datenwürfel besteht aus Fakten und Dimensionen,
die sich in Form eines Snowflake-Schemas
oder eines Star-Schemas in Relationen
abbilden lassen
§ OLAP-Operatoren (ROLL UP, DRILL DOWN, SLICE, etc.)
zur Interaktion mit einem Datenwürfel
§ OLAP-Unterstützung in SQL und durch in Form der von
Microsoft vorgeschlagenen Anfragesprache MDX
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
71
Literatur
[1]
A. Kemper und A. Eickler: Datenbanksysteme – Eine
Einführung, De Gruyter Oldenbourg, 2015 (Kapitel 17)
[2]
V. Köppen, G. Saake und K.-U. Sattler:
Data Warehouse Technologien,
mitp Professional, 2014
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
72
Herunterladen