Document

Werbung
Speichermodelle
Antje Höll
Seminar Data Warehousing - SS 2005
1
Speichermodelle: Überblick
1. Relationale Speicherung (ROLAP)
1.1 Star Schema
1.2 Snowflake Schema
1.3 Mischformen
1.4 Darstellungsarten für Klassifikationshierarchien
2. Multidimensionale Speicherung (MOLAP, HOLAP)
2.1 Datenstrukturen
2.2 Speicherung
2.3 Grenzen der Datenhaltung
2.4 HOLAP
3. Vergleich (ROLAP, MOLAP, HOLAP)
4. Fazit
Antje Höll
Seminar Data Warehousing - SS 2005
2
1. Relationale Speicherung




ROLAP = Relational OLAP
relationale Speicherung des multidimensionalen Datenmodells
 ermöglicht eine multidimensionale Analyse auf einer
relationalen Datenbank
Speicherung der aggregierten Daten in Relationen
SQL als deskriptive Anfragesprache für das Datenmodell
Anforderungen




möglichst geringer Verlust an anwendungsbezogener Semantik
(multidimensionalen Modell, z.B. Klassifikationshierarchien)
effiziente Übersetzung multidimensionaler Anfragen
effiziente Verarbeitung der übersetzten Anfragen
einfache und schnelle Wartbarkeit der relationalen Tabellen
(z.B. Laden neuer Daten)
Antje Höll
Seminar Data Warehousing - SS 2005
3
1. Relationale Speicherung
Faktentabelle

relationale Speicherung eines Datenwürfels ohne Klassifikationshierarchien
 Dimensionen, Kennzahlen  Spalten der Relation
 Zelle  Tupel

Abbildung der Klassifikationshierarchien:
 Star-, Snowflake-Schema oder Mischformen
Antje Höll
Seminar Data Warehousing - SS 2005
4
1. Relationale Speicherung
1.1 Star-Schema

Faktentabelle:





eine (zentrale) Faktentabelle
enthält (Geschäfts-) Daten, die analysiert werden sollen
 quantifizierende Daten
Primärschlüssel: zusammengesetzt aus Fremdschlüsseln
kann sehr viele Zeilen enthalten
Dimensionstabellen:






Antje Höll
denormalisiert
pro Dimension nur eine Tabelle
enthalten Attribute  qualifizierende Daten
jede Dimensionstabelle hat einen Primärschlüssel
kleiner als Faktentabelle
Zusammenhang zur Faktentabelle über
Fremdschlüsselbeziehungen
Seminar Data Warehousing - SS 2005
5
1. Relationale Speicherung
1.1 Star-Schema
Beispiel:
Zeit
Kunde
KundenID
KundenName
Geschlecht
Alter
1
n
Produkt
ProduktID
Artikel
Produktgruppe
Produktfamilie
Produktkategorie
Bezeichnung
Marke
…
Antje Höll
n
1
Verkauf
KundenID
ProduktID
ZeitID
GeoID
n
ZeitID
Tag
1 Woche
Monat
Quartal
Jahr
n
Anzahl
Umsatz
Seminar Data Warehousing - SS 2005
Geografie
1
GeoID
Filiale
Ort
Land
Region
…
6
1. Relationale Speicherung
1.1 Star-Schema

Vorteile:

einfache Struktur



effiziente Anfrageverarbeitung innerhalb der Dimensionen
(=schnellerer Datenzugriff)


einfache und flexible Darstellung von Klassifikationshierarchien
einfacher Aufbau der Dimensionstabellen
weniger teure Verbundoperationen
Nachteile:

Antje Höll
Faktentabelle normalisiert und Dimensionstabellen
denormalisiert
 Redundanzen in Dimensionstabellen Änderungsanomalien
Seminar Data Warehousing - SS 2005
7
1. Relationale Speicherung
1.2 Snowflake-Schema

Faktentabelle:





eine zentrale Faktentabelle
verwaltet die Kennzahlen
Dimensionsspalten bestehen aus Fremdschlüsseln auf die
Dimensionselemente der niedrigsten Stufe
Primärschlüssel: zusammengesetzt aus Fremdschlüsseln
Dimensionstabellen:

normalisiert
für jede Klassifikationsstufe eigene Relation
jede Dimensionstabelle besitzt einen Primärschlüssel
enthalten Attribute
Zusammenhang zur Faktentabelle über Fremdschlüsselbeziehungen

Fremdschlüsselbeziehungen zwischen Dimensionen




Antje Höll
Seminar Data Warehousing - SS 2005
8
1. Relationale Speicherung
1.2 Snowflake-Schema
Beispiel:
KundenID
1 KundenName
Geschlecht
Alter
Produktkategorie
ProduktkategorieID
Bezeichnung
1
Produktfamilie
n
1
Verkauf
ProduktfamilieID
Bezeichnung
ProduktkategorieID
KundenID
n ArtikelID
TagID
n
FilialeID
Produktgruppe
ProduktgruppeID
n Bezeichnung
ProduktfamilieID
Anzahl
Umsatz
Artikel
1
n
Antje Höll
Monat
MonatID
1
Bezeichnung
QuartalID
Kunde
ArtikeltID
Bezeichnung
ProduktgruppeID
Marke
1
…
Quartal
QuartalID
1 Bezeichnung
JahrID
n
Tag
TagID
1 Bezeichnung
MonatID
WocheID
n
n
FilialeID
1
Bezeichnung
StadtID
Jahr
JahrID
Bezeichnung
n
n
Woche
WocheID
Bezeichnung
1
JahrID
Filiale
n
StadtID
n
Bezeichnung
RegionID
Seminar Data Warehousing - SS 2005
1
1
n
Land
1 LandID
Bezeichnung
Stadt
1
n
Region
1
RegionID
n
Bezeichnung
LandID
9
1. Relationale Speicherung
1.2 Snowflake-Schema

Vorteile:
 normalisierte Struktur
 Vermeidung von Änderungsanomalien
 Tabellen
der operativen Systeme bleiben von der
Struktur und dem Inhalt unverändert/unberührt

Nachteile:
 Normalisierung
 hohe Anzahl an Tabellen
 erhöhte Zugriffskosten (höherer Join-Aufwand)
 schlechtere Performance
Antje Höll
Seminar Data Warehousing - SS 2005
10
1. Relationale Speicherung
1.3 Mischformen (1)
Star-vs. Snowflake-Schema

Star-Schema: - Redundanzen kein so großes Problem
- selten Änderungen an Klassifikationen
 Änderungsanomalien kontrollierbar

Einschränkungen für Anfragen finden häufig auf höherer Granularitätsstufe statt
 beim Snowflake-Schema jedes Mal teure Verbundoperationen nötig
 entfällt beim Star-Schema  deutliche Steigerung der
Anfragegeschwindigkeit

Struktur der Klassifikationen (Hierarchien) wird im Snowflake-Schema auch im
Tabellennamen widergespiegelt

im Starschema wird die gesamte Klassifikation als eine Tabelle abgebildet

Fazit: Welches Schema geeignet ist, hängt vom Anwendungsprofil ab!
 Mischform
Antje Höll
Seminar Data Warehousing - SS 2005
11
1. Relationale Speicherung
1.3 Mischformen (2)
1. Factless Fact Tables



Faktentabelle ohne Kenngrößen
Verweis auf Dimensionen  ausschließlich Fremdschlüsselspalten
Datensätze repräsentieren Ereignisse, bei denen keine weiteren
Informationen, als das Ereignis selbst, anfallen
Einrichtungen
Beispiel:
Studenten
MatrNr
Name
Geschlecht
Alter
Antje Höll
1
Anwesenheit
n
n
Zeit
Datum
Tag
Monat
Quartal
Jahr
1
1
Datum
RaumNr
MatrNr
KursNr
LehrerNr
RaumNr
…
Kurse
n
1
n
KursNr
KursName
…
n
1
Seminar Data Warehousing - SS 2005
Lehrer
LehrerNr
LehrerName
Gehalt
…
12
1. Relationale Speicherung
1.3 Mischformen (3)
2. Galaxie-Schema


mehrere unabhängige Faktentabellen
teilweise gemeinsame Nutzung von Dimensionstabellen
Produkt
ProduktID
ProduktName
ProduktGruppe
Lieferant
LieferantID
LieferantName
LieferantenGrID
LieferantenGr
Kunde
Antje Höll
KundenID
KundenName
KundenGrID
KundenGr
Einkauf
LieferantID
ProduktID
Datum
FilialeID
Zeit
Datum
Tag
Monat
Quartal
Jahr
Einkaufsmenge
Verkauf
KundenID
ProduktID
Datum
FilialeID
Verkaufsmenge
Seminar Data Warehousing - SS 2005
Filiale
FilialeID
Filiale
Ort
Land
Region
13
1. Relationale Speicherung
1.3 Mischformen (4)
3. Fact Constellation - Schema


Speicherung vorberechneter Aggregate
eigene Tabelle für aggregierte Kenngrößen (fact constellation)


Trennung der aggregierten Werte von den atomaren Werte


schnellerer Zugriff auf die Aggregationen
mit der Anzahl der Dimensionen steigt die Anzahl der Fakttabellen
explosionsartig an


für jede Aggregationskombination eine eigene Fakttabelle nötig
Modell sehr unübersichtlich und schwerer zu handhaben
Beispiel: Umsatz für eine Region
Antje Höll
Seminar Data Warehousing - SS 2005
14
1. Relationale Speicherung
1.4 Darstellungsarten für Klassifikationshierarchien (1)
Horizontal

Modellierung der Stufen der Klassifikationshierarchie als Spalten
der denormalisierten Dimensionstabelle

Vorteil:

Einschränkungen auf höherer Granularität ohne Join
Nachteil:


Duplikateliminierung beim Anfragen bestimmter Stufen, wie
bspw. Produktgruppe in einer Kategorie  relativ teuer, da
Sortierung erforderlich
Produkt_ID
Artikel
Produktgruppe
Produktfamilie
Kategorie
1234
Lavamat S
Waschmaschinen
Waschgeräte
weiße Ware
1235
Duett
Waschmaschinen
Waschgeräte
weiße Ware
1236
Novotronic
Trockner
Waschgeräte
weiße Ware
1237
Vento 500
Trockner
Waschgeräte
weiße Ware
Antje Höll
Seminar Data Warehousing - SS 2005
15
1. Relationale Speicherung
1.4 Darstellungsarten für Klassifikationshierarchien (2)
Vertikal (rekursiv)




Normalisierte Dimensionstabelle mit 2
Attributen
Dimensions_ID  Schlüssel, der die
Dimensions_ID
Beziehung zur Faktentabelle schafft
Eltern_ID  Attributwert der Dimensions- Lavamat S
ID der nächsthöheren Stufe
Duett
Eltern_ID
Vorteil:
Novotronic
Trockner
Vento 500
Trockner
Waschmaschinen
Waschgeräte
Trockner
Waschgeräte
Waschgeräte
weiße Ware


einfache Änderung am
Klassifikationsschema, da
Tabellenschema keine
Informationen über
Klassifikationsschema hat
Nachteil:

Antje Höll
Waschmaschinen
Waschmaschinen
mehrere teure
Verbundoperationen für
Anfragen einzelner Stufen nötig
Seminar Data Warehousing - SS 2005
16
1. Relationale Speicherung
1.4 Darstellungsarten für Klassifikationshierarchien (3)
Verbindung der Horizontal-und Vertikal-Strategie


Repräsentation der Klassifikationsstufen als Spalten –jedoch Stufen nicht
mit den Namen der Klassifikationsstufen benannt
zusätzliches Attribut „Stufe“ zur Angabe, zu welcher Stufe das Tupel gehört
Dimensions_ID
Stufe1_ID
Stufe2_ID
Stufe3_ID
Stufe
Lavamat S
Waschmaschinen
Waschgeräte
weiße Ware
0
Duett
Waschmaschinen
Waschgeräte
weiße Ware
0
Novotronic
Trockner
Waschgeräte
weiße Ware
0
Vento 500
Trockner
Waschgeräte
weiße Ware
0
Waschmaschinen
Waschgeräte
weiße Ware
NULL
1
Trockner
Waschgeräte
weiße Ware
NULL
1
Waschgeräte
weiße Ware
NULL
NULL
2
Antje Höll
Seminar Data Warehousing - SS 2005
17
1. Relationale Speicherung
1.4 Darstellungsarten für Klassifikationshierarchien (4)
Problem:
 bei allen genannten Abbildungsvarianten geht Semantik verloren
Gründe für Semantikverluste:



Unterscheidung zwischen Kennzahl und Dimension schwierig
(Attribute der Faktentabelle)
Unterscheidung zwischen Attribute von Dimensionstabellen
(beschreibend, Aufbau der Hierarchie) nicht möglich
Aufbau der Dimensionen geht verloren


Wie verlaufen Drill-Pfade?
zusätzliches Attribut „Stufe“ zur Angabe der bezeichneten Klassifikationsstufe
Lösung:

Erweiterung des Systemkatalogs des relationalen DBMS um Metadatentabellen
für multidimensionale Anwendungen
Antje Höll
Seminar Data Warehousing - SS 2005
18
2. Multidimensionale Speicherung








MOLAP = Multidimensional OLAP
multidimensionale Speicherung des multidimensionalen Datenmodells
Speicherung der aggregierten Daten in speziellen multidimensionalen
Datenstrukturen
Verwendung unterschiedlicher Datenstrukturen für Datenwürfel und
Dimensionen
Speicherung basiert auf Arrays
Ordnung der Dimension zur Adressierung der Würfelzellen notwendig
basiert nicht auf SQL, sondern bedient sich eigener
Programmierschnittstellen
wird von speziell dafür entwickelte Datenbanken ausgeführt
 MDBMS
Antje Höll
Seminar Data Warehousing - SS 2005
19
2. Multidimensionale Speicherung
2.1 Datenstrukturen (1)
Dimension:




endliche, geordnete Liste von Dimensionswerten
enthält Dimensionselemente und die höheren
Klassifikationsstufen
Dimensionswerte sind einfache unstrukturierte Datentypen
(String, Integer, Date)
Ordnung der Dimensionswerte notwendig

Antje Höll
(Ordnungszahlen: ganze Zahlen)
Seminar Data Warehousing - SS 2005
20
2. Multidimensionale Speicherung
2.1 Datenstrukturen (2)
Würfel:





n Dimensionen spannen n-dimensionaler Raum auf
m Dimensionswerte einer Dimension teilen den Würfel für diese
Dimension in m parallele Ebenen
Zelle: Schnittpunkt von n Ebenen eines n-dimensionalen Würfels
Zelle eines n-dimensionalen Würfels wird eindeutig über n-Tupel
von Dimensionswerten bestimmt
Zellen können eine oder mehrere Kennzahlen eines zuvor
definierten Datentyps aufnehmen
W = ((D1, D2, …,Dn), (M1:Typ1, …, Mm: Typm))
Bsp.: Verkauf = ((Produkt, Filiale, Zeit), (Anzahl: integer, Umsatz: long))
Antje Höll
Seminar Data Warehousing - SS 2005
21
2. Multidimensionale Speicherung
2.2 Speicherung (1)
Array-Speicherung

sequentielle Speicherung der Zellen des Würfels in n-dimensionales Array
 mehrdimensionaler Würfel in eine eindimensionale Liste = Linearisierung
D3
D1
D2


Indizes des Arrays bilden Koordinaten der Würfelzellen
Berechnungsvorschrift für den Array-Index der Zelle z(x1, x2, ... xn) eines Würfels:
Index (z) = x 1 + (x 2 -1) · |D1| + (x 3 -1) · |D1| · |D 2 | + ... + (x n -1) ·|D1| · ... · |D n-1|
n
i 1
i 1
j 1
= 1+  ( xi  1)   D j
Antje Höll
Seminar Data Warehousing - SS 2005
22
2. Multidimensionale Speicherung
2.2 Speicherung (2)
1. Beispiel:





Adressberechnung in einem
zweidimensionalen Datenwürfel
D1 = Produkt mit Werteliste
(Hosen, Hemden, Röcke, Kleider,
Mäntel)
D2 = Zeit mit Werteliste (Januar,
Februar, März, April)
Ordnungszahlen stehen in
Klammern
1
2
3
4
5
Januar (1)
6
7
8
9
10
Februar (2)
11
12
13
14
15
März (3)
16
17
18
19
20
April (4)
ges.: Indexwerte
1  ( x1 1)  ( x2 1)  D1  1  3  2  5  14
Antje Höll
Seminar Data Warehousing - SS 2005
23
2. Multidimensionale Speicherung
2.2 Speicherung (3)
2. Beispiel:



3-D Würfel
Dimensionen D0, D1, D2
Dimensionsgrößen |D0|= 5, |D1|= 4, |D2|= 3


ALL = summierte Werte pro
Dimension
3-D Vektor V (v0, v1, v2)
index  ((v0 ( D1  1)  v1 )( D2  1))  v2
16
12
8
28
4
24
0
20
40
Reihenfolge der Würfelzellen in einem Array
Antje Höll
Seminar Data Warehousing - SS 2005
24
2. Multidimensionale Speicherung
2.2 Speicherung (4)
Probleme:


Zahl der Plattenzugriffe bei ungünstigen Linearisierungsreihenfolgen

Reihenfolge der Dimensionen ist bei Definition des Würfels zu beachten

Caching zur Reduzierung der Zugriffe notwendig
Speicherung dünn besetzter Würfel (leere, undefinierte Zellen)
 beim Auslesen von Zellwerten müssen mehr Blöcke/Seiten
übertragen werden

Antje Höll
leere Speicherblöcke/-seiten nicht physisch ablegen
Seminar Data Warehousing - SS 2005
25
2. Multidimensionale Speicherung
2.3 Grenzen der Datenhaltung

Skalierbarkeitsprobleme aufgrund dünn besetzter Datenräume

teilweise einseitige Optimierung auf schnelles Lesen

Ordnung der Dimensionswerte wird bei Array-Speicherung
vorausgesetzt
 erschwert Änderungen an den Dimensionen

kein Standard für MDBMS  Proprietär

Spezialwissen für Erstellung und Wartung erforderlich
Antje Höll
Seminar Data Warehousing - SS 2005
26
2. Multidimensionale Speicherung
2.4 HOLAP

Verbindung der Vorteile von ROLAP und MOLAP



relational (Skalierbarkeit, Standard)
multidimensional (analytische Mächtigkeit, direkte OLAPUnterstützung)
Speicherung:


historische Detaildaten  Relationale Datenbank
aggregierte Daten  Multidimensionale Datenbank

Zugriff erfolgt über die multidimensionale Datenbank
durch ein multidimensionales Anfragewerkzeug

Aber:


Antje Höll
umfassende Kenntnisse aus beiden Welten notwendig
enormer Implementierungsaufwand
Seminar Data Warehousing - SS 2005
27
3. Vergleich: ROLAP, MOLAP, HOLAP (1)
Vorteile:
ROLAP
MOLAP
HOLAP
verwendet
Antwortzeiten
vereinigt
bewährte
Datenbanktechnologie
StandardAbfragesprache (SQL)
beliebige
Skalierbarkeit
effiziente Speicherung
großer Datenmengen
zahlreiche erfolgreiche
DW-Lösungen basieren
auf einer ROLAPArchitektur
Antje Höll
bei
kleineren Datenmengen
sehr gut
effiziente
multidimensionale
Speicherstrukturen
meist eigene,
multidimensionale
Abfragesprache, intuitiv
verständlicher als SQL
Seminar Data Warehousing - SS 2005
das Beste
aus ROLAP und
MOLAP
MDDB-System greift
nicht mehr auf die
operativen Systeme
zu, sondern auf ein
relationales DW
28
3. Vergleich: ROLAP, MOLAP, HOLAP (2)
Nachteile:
ROLAP
MOLAP
HOLAP
Standard-SQL
proprietäre

für
multidimensionale
Analysen nur bedingt
ausreichend
schlechtere
Performance (durch
Datenredundanz
kompensierbar)
langen Antwortzeiten
durch direkten Zugriff
auf große Datenmengen
Antje Höll
MDDBSysteme werden
eingesetzt, keine
Abfragesprache als
Standard definiert
eingeschränktes
Datenvolumen
Schnittstelle zu einem
RDBMS notwendig
Seminar Data Warehousing - SS 2005
umfangreiche
Kenntnisse über
ROLAP und MOLAP
 enormer
ImplementierungsAufwand
keine einheitliche
OLAPAbfragesprache
29
4. Fazit

ROLAP gut für dünn besetzte Würfel




setzt auf herkömmliche relationale Datenbanken auf
Datenwürfel werden in mehrere flachen Tabellen gemäß dem
Star- Schema gespeichert
Unterstützung großer Datenmengen - Skalierbarkeit
MOLAP gut für dicht besetzte Würfel


Antje Höll
effizientere Speicherung durch Array-Speicherung
primär für aggregierte Daten relevant, weniger zur Verwaltung
von Detail-Fakten
Seminar Data Warehousing - SS 2005
30
Vielen Dank für die
Aufmerksamkeit…
Antje Höll
Seminar Data Warehousing - SS 2005
31
Herunterladen