Speichermodelle - Friedrich-Schiller

Werbung
Speichermodelle
Fabian Geitner
12.01.2012
Seminar Data Warehousing und analytische Datenbanken
Lehrstuhl für Datenbanken und Informationssysteme
Friedrich-Schiller-Universität Jena
1
Gliederung
1. ROLAP
1.1 Snowflake-Schema
1.2 Star-Schema
1.3 Mischformen
1.4 Weitere Darstellungsarten
2. MOLAP
2.1 Datenstrukturen
2.2 Array-Speicherung
2.3 HOLAP
3. Fazit
2
Beschreibung
ROLAP = Relational OLAP
Ziel: Abbildung finden, um multidimensionale Konstrukte
(Würfel, Dimension, Klassifikationshierarchien, …) auf
relationaler Datenbank abzubilden
Anforderungen:
möglichst wenig anwendungsbezogene Semantik verlieren
effiziente Übersetzung multidimensionaler Anfragen
effiziente Abarbeitung der Anfragen durch DBMS
einfache und schnelle Wartung der Tabellen
3
Beschreibung
Umsetzung ohne Klassifikationshierarchien:
Spalten der Relation werden als Dimension des Würfels betrachtet
→ Tupel in der Tabelle = eine Zelle im multidimensionalen Würfel
betrachtet man nur manche Spalten als Dimension und die restlichen
als Kenngrößen, entsteht eine Faktentabelle
4
Snowflake-Schema
5
Snowflake-Schema
Vorteile:
keine Redundanz und geringerer Speicherplatzbedarf
optimale Aggregationsbildung
Nachteile:
komplexer Aufbau
langsame Anfragen durch teure Verbundoperationen
hoher Wartungsaufwand
6
Star-Schema
7
Star-Schema
Vorteile:
einfache Struktur
einfache und flexible Darstellung von Klassifikationshierarchien
effiziente Anfrageverarbeitung innerhalb der Dimensionen
→ spart teure Verbundoperationen
Nachteile:
Redundanz durch Denormalisierung → Änderungsanomalien
8
Vergleich
Denormalisierung im Star-Schema spart aufwendige
Verbundoperationen
→ schnellere Anfragebearbeitung
Datenvolumen der Dimensionstabellen ist im Vergleich zur Größe der
Faktentabelle gering → Redundanzen erhöhen Datenvolumen nicht
dramatisch (gilt aber nicht immer!)
Änderung an Klassifikationen sind seltener als das Hinzufügen von
Faktendaten
→ Gefahr von Änderungsanomalien gering
Fazit: Star-Schema oftmals geeigneter, hängt aber von der
Anwendung ab! → Mischform?
9
Mischformen
Galaxy-Schema
Schema mit nur einer Faktentabelle ist nicht ausreichend, wenn mehrere
Kenngrößen mit unterschiedlichen Dimensionen existieren
→ mehrere Faktentabellen, teilweise mit gleichen
Dimensionstabellen verknüpft
10
Mischformen
Fact Constellation
Spezialfall des Galaxy-Schemas
Aggregierte Daten in jeweils eigene Faktentabellen ausgelagert
→ bessere Performance durch kleinere Faktentabellen (schnellerer
Zugriff)
Anzahl der Faktentabellen noch größer als beim Galaxy-Schema
→ oftmals unübersichtlich
11
Weitere Darstellungsarten
12
Weitere Darstellungsarten
Horizontale Darstellung
Stufen des Klassifikationsschemas als Spalten modelliert
Vorteil:
Anfragen auf höherer Granularität ohne Verbundoperationen
Nachteil:
Duplikateliminerung relativ teuer
(z.B. alle Produktgruppen, die zu einer Produktkategorie gehören)
Hinzufügen neuer Klassifikationsstufen → Änderung des relationalen Schemas
Produkt_ID
Artikel
…
Produktgruppe
Produktfamilie
Kategorie
…
1235
Lavamat S
…
Waschmaschinen
Waschgerä
Waschgeräte
Weiß
Weiße Ware
…
1236
Duett
…
Waschmaschinen
Waschgerä
Waschgeräte
Weiß
Weiße Ware
…
1237
Novotronic
…
Trockner
Waschgerä
Waschgeräte
Weiß
Weiße Ware
…
1238
Vento 500
…
Trockner
Waschgerä
Waschgeräte
Weiß
Weiße Ware
…
...
…
...
...
...
…
...
13
Weitere Darstellungsarten
Vertikale Darstellung
Normalisiertes Modell
Dimensionstabelle enthält zwei Attribute: Dimensions_ID und Eltern_ID
Dimension_ID
Eltern_ID
Lavamat S
Waschmaschinen
Duett
Waschmaschinen
Novotronic
Trockner
Vento 500
Trockner
...
...
Waschmaschinen
Waschgeräte
Trockner
Waschgeräte
...
...
Waschgeräte
Weiße Ware
...
...
14
Weitere Darstellungsarten
Vertikale Darstellung
Vorteil:
Enthält keine Informationen über Klassifikationsschema
→ Schemaänderungen flexibel
Klassifikationsknoten unterschiedlicher Granularität über gleichen
Fremdschlüssel ansprechbar
→ elegante Behandlung vorberechneter Aggregate innerhalb der
Faktentabelle
Nachteil:
Mehrere teure Selbstverbunde (self-joins), wenn man z.B. alle
Produktgruppen abfragt, die zu einer Produktkategorie gehören
15
Weitere Darstellungsarten
Kombinierte Darstellung
Klassifikationsstufen wie im horizontalen Modell als Spalten
Stufen nicht mit Namen der Klassifikationsstufen benannt
Zusätzliches Attribut Stufe
Dimension_ID
Stufe1_ID
Stufe2_ID
Stufe3_ID
Stufe
Lavamat S
Waschmaschinen
Waschgerä
Waschgeräte
Weiß
Weiße Ware
0
Duett
Waschmaschinen
Waschgerä
Waschgeräte
Weiß
Weiße Ware
0
Novotronic
Trockner
Waschgerä
Waschgeräte
Weiß
Weiße Ware
0
Vento 500
Trockner
Waschgerä
Waschgeräte
Weiß
Weiße Ware
0
...
...
...
...
...
Waschmaschinen
Waschgerä
Waschgeräte
Weiß
Weiße Ware
NULL
1
Trockner
Waschgerä
Waschgeräte
Weiß
Weiße Ware
NULL
1
...
...
...
...
...
Waschgerä
Waschgeräte
Weiß
Weiße Ware
NULL
NULL
2
...
...
...
...
...
16
Semantikverluste
Nicht mehr eindeutig erkennbar, ob Attribut in der
Faktentabelle Kenngröße oder Dimension ist
In Dimensionstabellen kann nicht zwischen beschreibenden
Attribut und Attribut zum Aufbau der Klassifikationshierarchie
unterschieden werden
Aufbau der Dimensionen geht verloren
→ Semantikverluste
Lösung: Erweiterung des Systemkatalogs um
Metadatentabellen
17
Gliederung
1. ROLAP
1.1 Snowflake-Schema
1.2 Star-Schema
1.3 Mischformen
1.4 Weitere Darstellungsarten
2. MOLAP
2.1 Datenstrukturen
2.2 Array-Speicherung
2.3 HOLAP
3. Fazit
18
Multidimensionale Speicherung
MOLAP = Multidimensional OLAP
Niedrigerer Aufwand bei Datenhaltung und –auswertung
Unterschiedliche Datenstrukturen für Dimension und Datenwürfel
Speicherung basiert auf Arrays
Umsetzung durch multidimensionale Datenbankmanagementsysteme
(MDBMS)
19
Datenstrukturen
Dimension
Endliche geordnete Liste von Dimensionswerten (sowohl
Dimensionselemente als auch Klassifikationsknoten)
Werte besitzen vorher festgelegten, einfachen Datentyp
(Text, Ganzzahl, Datum, …)
Durch Ordnung enthält jeder Dimensionswert eine
Ordnungszahl, mit der er eindeutig identifiziert werden kann
|D| = m ist die Anzahl der Dimensionswerte der Dimension D
20
Datenstrukturen
Würfel
Kombination mehrerer Dimensionen
n Dimensionswerte spannen n-dimensionalen Raum auf
m Werte einer Dimension teilen den Würfel für diese Dimension in m
unterschiedliche parallele Ebenen
Schnittpunkt von n Ebenen des n-dimensionalen Würfels bezeichnet
eine einzelne Zelle
Zelle wird eindeutig über einen n-Tupel von Dimensionswerten
bestimmt
Würfel W wird beschrieben durch:
W =(( D 1 , D 2 , ... , D n ) ,( M 1 :Typ1, ... , M m : Typm ))
Beispiel:
Verkauf = ((Produkt, Geografie, Zeit), (Verkäufe: integer, Umsatz: long))
21
Array-Speicherung
Grundlegende Speicherstruktur in MDBMS
Zellen des Würfel in n-dimensionalen Array sequentiell gespeichert
→ Überführung in eindimensionale Liste (Linearisierung)
Indizes des Array ( x1, x 2, ... , xn ) = Koordinaten der Würfelzellen
Index einer Zelle z lässt sich ermitteln durch
Index( z ) = x1 + ( x 2 − 1) ⋅ | D1 | + ( x3 − 1) ⋅ | D1 | ⋅ | D 2 | + ... + ( xn − 1) ⋅ | D1 | ⋅ ... ⋅ | Dn − 1 |
n
i −1
= 1 + ∑ ( xi − 1) ⋅ ∏ | Di |
i =1
j =1
22
Array-Speicherung
Beispiel:
2)
(
)
)
(1
en
4)
5)
3
(
(
n
(
l
d
r
e
te
se
m
ke
d
n
c
e
i
o
ä
H
H
Rö
Kle
M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
März(3)
16
17
18
19
20
April(4)
Januar(1)
Februar(2)
Index( z ) = x1 + ( x 2 − 1)⋅ | D1 |
Index( Hemden, März ) = 2 + 2 ⋅ 5 = 12
23
Array-Speicherung
Probleme:
Mögliche Anfragepfade müssen vorher bedacht werden, da
Linearisierungsreihenfolge entscheidenden Einfluss auf Performance hat
Flaschenhals zwischen schnellem Hauptspeicher und langsameren
Sekundärspeicher → Caching und Swapping empfehlenswert
Alle Zellen des Würfels müssen im Array vorhanden sein, also auch leere
→ bei dünn besetzten Würfeln müssen mehr Blöcke bzw. Seiten
übertragen werden als bei dicht besetzten
(Lösung: leere Blöcke nicht physisch speichern und für Indexberechnung
Korrekturverfahren verwenden)
24
Hybrides OLAP
Zugriff über mulidimensionales Anfragewerkzeug, welches entscheidet
ob Daten in multidimensionaler Welt vorliegen
nur in relationaler Datenbank vorhanden sind
in keiner der beiden Welten vorhanden sind und nur über Berechnung aus
einer der beiden gewonnen werden können
Transparent für Anwender
Aufteilung muss anwendungsspezifisch getroffen werden
Grundsätzlich:
Detaildaten relational gespeichert
Aggregierte Daten multidimensional gespeichert
25
Hybrides OLAP
Vorteile:
Stärken von ROLAP (Skalierbarkeit, offener Standard) mit
Stärken von MOLAP (analytische Mächtigkeit, intuitive
Bedienung, direkte OLAP-Umsetzung) kombiniert
Nachteile:
Umfassende Kenntnisse von beiden Welten nötig
Höherer Implementierungsaufwand
26
Gliederung
1. ROLAP
1.1 Snowflake-Schema
1.2 Star-Schema
1.3 Mischformen
1.4 Weitere Darstellungsarten
2. MOLAP
2.1 Datenstrukturen
2.2 Array-Speicherung
2.3 HOLAP
3. Fazit
27
Fazit
Technologie
ROLAP
Relational
MOLAP
Multidimensional
HOLAP
Gemischt
Datenmenge
Groß
Klein bis mittel
Groß
Speicherbedarf
Groß
Mittel
Mittel
Antwortzeit
Mittel
Schnell
Mittel
Skalierbarkeit
Füllgrad
Hoch
Niedrig
Niedrig
Hoch
Hoch
-
StandardAbfragesprache
Wartungsaufwand
SQL
-
-
Mittel
Hoch
Hoch
ROLAP geeignet für dünnbesetzte, große Würfel
MOLAP geeignet für dichtbesetzte, kleine Würfel
28
Herunterladen