Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

31
Antje Höll Seminar Data Warehousing - SS 2005 1 Speichermodelle

Transcript of Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Page 1: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Antje Höll Seminar Data Warehousing - SS 2005 1

Speichermodelle

Page 2: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 2Antje Höll

Speichermodelle: Überblick

1. Relationale Speicherung (ROLAP) 1.1 Star Schema1.2 Snowflake Schema1.3 Mischformen1.4 Darstellungsarten für Klassifikationshierarchien

2. Multidimensionale Speicherung (MOLAP, HOLAP)2.1 Datenstrukturen2.2 Speicherung2.3 Grenzen der Datenhaltung2.4 HOLAP

3. Vergleich (ROLAP, MOLAP, HOLAP) 4. Fazit

Page 3: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 3Antje Höll

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)

Page 4: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 4Antje Höll

Faktentabelle relationale Speicherung eines Datenwürfels ohne Klassifikationshierarchien

Dimensionen, Kennzahlen Spalten der Relation Zelle Tupel

1. Relationale Speicherung

Abbildung der Klassifikationshierarchien: Star-, Snowflake-Schema oder Mischformen

Page 5: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 5Antje Höll

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: 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

Page 6: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 6Antje Höll

1. Relationale Speicherung 1.1 Star-Schema

Beispiel:

KundenIDKundenNameGeschlechtAlter

ZeitIDTagWocheMonatQuartalJahr

ProduktIDArtikelProduktgruppeProduktfamilieProduktkategorieBezeichnungMarke…

GeoIDFilialeOrt Land Region…

KundenIDProduktIDZeitIDGeoID

AnzahlUmsatz

Kunde

Produkt

Verkauf

Geografie

1

n

1

1

1

n

n

n

Zeit

Page 7: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 7Antje Höll

Vorteile: einfache Struktur

einfache und flexible Darstellung von Klassifikationshierarchien einfacher Aufbau der Dimensionstabellen

effiziente Anfrageverarbeitung innerhalb der Dimensionen (=schnellerer Datenzugriff)

weniger teure Verbundoperationen

Nachteile: Faktentabelle normalisiert und Dimensionstabellen

denormalisiert Redundanzen in Dimensionstabellen Änderungsanomalien

1. Relationale Speicherung 1.1 Star-Schema

Page 8: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 8Antje Höll

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

Page 9: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 9Antje Höll

1. Relationale Speicherung 1.2 Snowflake-Schema

Beispiel:KundenIDKundenNameGeschlechtAlter

TagIDBezeichnungMonatIDWocheID

ArtikeltIDBezeichnung ProduktgruppeIDMarke…

FilialeIDBezeichnungStadtID

KundenIDArtikelIDTagIDFilialeID

AnzahlUmsatz

Kunde

Artikel

Verkauf

Filiale

1

n

Tag

ProduktgruppeIDBezeichnungProduktfamilieID

Produktgruppe

1

n

1

n

ProduktfamilieIDBezeichnungProduktkategorieID

Produktfamilie

1

n

ProduktkategorieIDBezeichnung

Produktkategorie1

n

StadtIDBezeichnungRegionID

RegionIDBezeichnungLandID

Region

LandIDBezeichnung

Landn

1

Stadt

n

1 n 1 n

1

MonatIDBezeichnungQuartalID

MonatQuartalIDBezeichnungJahrID

Quartal

JahrIDBezeichnung

Jahr

WocheIDBezeichnungJahrID

Wochen

1 nn

1

1

n 1n

11

n

Page 10: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 10Antje Höll

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

1. Relationale Speicherung 1.2 Snowflake-Schema

Page 11: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 11Antje Höll

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

1. Relationale Speicherung 1.3 Mischformen (1)

Page 12: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 12Antje Höll

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

Beispiel:

1. Relationale Speicherung 1.3 Mischformen (2)

KursNrKursName…

RaumNr…

LehrerNrLehrerNameGehalt…

MatrNrNameGeschlechtAlter

DatumTagMonatQuartalJahr

DatumRaumNrMatrNrKursNrLehrerNr

Studenten

Zeit

Einrichtungen

Kurse

Lehrer

1

n

n

n

n

n1

1

1

1

Anwesenheit

Page 13: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 13Antje Höll

2. Galaxie-Schema mehrere unabhängige Faktentabellen teilweise gemeinsame Nutzung von Dimensionstabellen

1. Relationale Speicherung 1.3 Mischformen (3)

LieferantIDLieferantNameLieferantenGrIDLieferantenGr

DatumTagMonatQuartalJahr

ProduktIDProduktNameProduktGruppe

FilialeIDFilialeOrt Land Region

KundenIDProduktIDDatumFilialeID

Verkaufsmenge

Lieferant

Produkt

Verkauf Filiale

Zeit

LieferantIDProduktIDDatumFilialeID

Einkaufsmenge

Einkauf

KundenIDKundenNameKundenGrIDKundenGr

Kunde

Page 14: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 14Antje Höll

3. Fact Constellation - Schema

Speicherung vorberechneter Aggregate eigene Tabelle für aggregierte Kenngrößen (fact constellation)

für jede Aggregationskombination eine eigene Fakttabelle nötig 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 Modell sehr unübersichtlich und schwerer zu handhaben

Beispiel: Umsatz für eine Region

1. Relationale Speicherung 1.3 Mischformen (4)

Page 15: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 15Antje Höll

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

Page 16: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 16Antje Höll

1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (2)

Vertikal (rekursiv) Normalisierte Dimensionstabelle mit 2

Attributen Dimensions_ID Schlüssel, der die

Beziehung zur Faktentabelle schafft Eltern_ID Attributwert der Dimensions-

ID der nächsthöheren Stufe Vorteil:

einfache Änderung am Klassifikationsschema, da Tabellenschema keine Informationen über Klassifikationsschema hat

Nachteil: mehrere teure

Verbundoperationen für Anfragen einzelner Stufen nötig

Dimensions_ID Eltern_ID

Lavamat S Waschmaschinen

Duett Waschmaschinen

Novotronic Trockner

Vento 500 Trockner

Waschmaschinen Waschgeräte

Trockner Waschgeräte

Waschgeräte weiße Ware

Page 17: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 17Antje Höll

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

1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (3)

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

Page 18: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 18Antje Höll

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

1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (4)

Page 19: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 19Antje Höll

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

Page 20: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 20Antje Höll

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

(Ordnungszahlen: ganze Zahlen)

Page 21: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 21Antje Höll

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))

2. Multidimensionale Speicherung 2.1 Datenstrukturen (2)

Page 22: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 22Antje Höll

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

Indizes des Arrays bilden Koordinaten der Würfelzellen Berechnungsvorschrift für den Array-Index der Zelle z(x1, x2, ... xn) eines Würfels:

1 2 1 3 1 2 n 1 n-1

1

1 1

Index (z) = x + (x -1) · |D | + (x -1) · |D | · |D | + ... + (x -1) ·|D | · ... · |D |

= 1+ ( 1)in

i ji j

x D

D1

D2

D3

Page 23: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 23Antje Höll

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

ges.: Indexwerte

1 2 11 ( 1) ( 1) 1 3 2 5 14x x D

2. Multidimensionale Speicherung 2.2 Speicherung (2)

1. Beispiel:

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

Hose

n (1

)He

mde

n (2

)Rö

cke (

3)Kl

eider

(4)

Mänte

l (5)

Februar (2)

Januar (1)

März (3)

April (4)

Page 24: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 24Antje Höll

3-D Würfel Dimensionen D0, D1, D2 Dimensionsgrößen |D0|= 5, |D1|= 4, |D2|= 3

Reihenfolge der Würfelzellen in einem Array

ALL = summierte Werte pro Dimension 3-D Vektor V (v0, v1, v2)

0 1 1 2 2(( ( 1) )( 1))index v D v D v

2. Multidimensionale Speicherung 2.2 Speicherung (3)

2. Beispiel:

0

4

8

12

16

20

24

28

40

Page 25: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 25Antje Höll

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 leere Speicherblöcke/-seiten nicht physisch ablegen

2. Multidimensionale Speicherung 2.2 Speicherung (4)

Probleme:

Page 26: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 26Antje Höll

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

2. Multidimensionale Speicherung 2.3 Grenzen der Datenhaltung

Page 27: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 27Antje Höll

Verbindung der Vorteile von ROLAP und MOLAP relational (Skalierbarkeit, Standard) multidimensional (analytische Mächtigkeit, direkte OLAP-

Unterstützung)

Speicherung: historische Detaildaten Relationale Datenbank aggregierte Daten Multidimensionale Datenbank

Zugriff erfolgt über die multidimensionale Datenbank durch ein multidimensionales Anfragewerkzeug

Aber: umfassende Kenntnisse aus beiden Welten notwendig enormer Implementierungsaufwand

2. Multidimensionale Speicherung 2.4 HOLAP

Page 28: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 28Antje Höll

3. Vergleich: ROLAP, MOLAP, HOLAP (1)

ROLAP MOLAP HOLAPverwendet bewährte Datenbanktechnologie Standard-Abfragesprache (SQL) beliebige Skalierbarkeit effiziente Speicherung großer Datenmengen zahlreiche erfolgreiche DW-Lösungen basieren auf einer ROLAP-Architektur

Antwortzeiten bei kleineren Datenmengen sehr gut effiziente multidimensionale Speicherstrukturen meist eigene, multidimensionale Abfragesprache, intuitiv verständlicher als SQL

vereinigt das Beste aus ROLAP und MOLAPMDDB-System greift nicht mehr auf die operativen Systeme zu, sondern auf ein relationales DW

Vorteile:

Page 29: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 29Antje Höll

3. Vergleich: ROLAP, MOLAP, HOLAP (2)

ROLAP MOLAP HOLAPStandard-SQL für multidimensionale Analysen nur bedingt ausreichendschlechtere Performance (durch Datenredundanz kompensierbar) langen Antwortzeiten durch direkten Zugriff auf große Datenmengen

proprietäre MDDB-Systeme werden eingesetzt, keine Abfragesprache als Standard definiert eingeschränktes Datenvolumen Schnittstelle zu einem RDBMS notwendig

umfangreiche Kenntnisse über ROLAP und MOLAP enormer Implementierungs-Aufwandkeine einheitliche OLAP-Abfragesprache

Nachteile:

Page 30: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 30Antje Höll

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

effizientere Speicherung durch Array-Speicherung primär für aggregierte Daten relevant, weniger zur Verwaltung

von Detail-Fakten

4. Fazit

Page 31: Antje HöllSeminar Data Warehousing - SS 2005 1 Speichermodelle.

Seminar Data Warehousing - SS 2005 31Antje Höll

Vielen Dank für die Aufmerksamkeit…