Speichermodelle - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Speichermodelle

Description:

Title: Folie 1 Author: antje Last modified by: antje Created Date: 5/26/2005 9:07:05 AM Document presentation format: Bildschirmpr sentation Other titles – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 32
Provided by: Ant98
Category:

less

Transcript and Presenter's Notes

Title: Speichermodelle


1
Speichermodelle
2
Speichermodelle Ãœberblick
  • 1. Relationale Speicherung (ROLAP)
  • 1.1 Star Schema
  • 1.2 Snowflake Schema
  • 1.3 Mischformen
  • 1.4 Darstellungsarten für Klassifikationshierarch
    ien
  • 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

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

4
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

5
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

6
1. Relationale Speicherung 1.1 Star-Schema
Beispiel
Zeit
Kunde
ZeitID Tag Woche Monat Quartal Jahr
KundenID KundenName Geschlecht Alter
1
1
Verkauf
n
n
KundenID ProduktID ZeitID GeoID
Anzahl Umsatz
Produkt
n
n
ProduktID Artikel Produktgruppe Produktfamilie Produktkategorie Bezeichnung Marke
Geografie
1
GeoID Filiale Ort Land Region
1
7
1. Relationale Speicherung 1.1 Star-Schema
  • 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

8
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

9
1. Relationale Speicherung 1.2 Snowflake-Schema
Beispiel
Quartal
Monat
Kunde
n
QuartalID Bezeichnung JahrID
MonatID Bezeichnung QuartalID
KundenID KundenName Geschlecht Alter
Produktkategorie
n
1
1
1
ProduktkategorieID Bezeichnung
1
Tag
Jahr
1
TagID Bezeichnung MonatID WocheID
JahrID Bezeichnung
1
Produktfamilie
Verkauf
1
n
n
ProduktfamilieID Bezeichnung ProduktkategorieID
KundenID ArtikelID TagID FilialeID
Anzahl Umsatz
n
1
n
Woche
n
WocheID Bezeichnung JahrID
n
n
1
Produktgruppe
n
Filiale
ProduktgruppeID Bezeichnung ProduktfamilieID
Land
FilialeID Bezeichnung StadtID
n
1
n
LandID Bezeichnung
1
Artikel
1
ArtikeltID Bezeichnung ProduktgruppeID Marke
Region
Stadt
n
StadtID Bezeichnung RegionID
RegionID Bezeichnung LandID
n
1
1
n
1
10
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

11
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

12
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
  • Beispiel

Einrichtungen
Studenten
RaumNr
1
MatrNr Name Geschlecht Alter
1
Anwesenheit
Kurse
n
KursNr KursName
Datum RaumNr MatrNr KursNr LehrerNr

n
1
n
n
Zeit
n
Datum Tag Monat Quartal Jahr
1
Lehrer
1
LehrerNr LehrerName Gehalt
13
1. Relationale Speicherung 1.3 Mischformen (3)
  • 2. Galaxie-Schema
  • mehrere unabhängige Faktentabellen
  • teilweise gemeinsame Nutzung von
    Dimensionstabellen

Zeit
Produkt
Datum Tag Monat Quartal Jahr
Einkauf
ProduktID ProduktName ProduktGruppe
LieferantID ProduktID Datum FilialeID
Einkaufsmenge
Lieferant
LieferantID LieferantName LieferantenGrID LieferantenGr
Filiale
Verkauf
FilialeID Filiale Ort Land Region
KundenID ProduktID Datum FilialeID
Verkaufsmenge
Kunde
KundenID KundenName KundenGrID KundenGr
14
1. Relationale Speicherung 1.3 Mischformen (4)
  • 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


15
1. Relationale Speicherung 1.4 Darstellungsarten
für Klassifikationshierarchien (1)
  • Horizontal
  • Modellierung der Stufen der Klassifikationshierarc
    hie 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
16
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
17
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
18
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

19
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

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

21
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), (M1Typ1, , Mm Typm))
  • Bsp. Verkauf ((Produkt, Filiale, Zeit),
    (Anzahl integer, Umsatz long))

22
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

D3
D1
D2
23
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
  • ges. Indexwerte

Hemden (2)
Hosen (1)
Röcke (3)
Kleider (4)
Mäntel (5)
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
Januar (1)
Februar (2)
März (3)
April (4)
24
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)

16
12
8
28
4
24
20
40
0
Reihenfolge der Würfelzellen in einem Array
25
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
  • leere Speicherblöcke/-seiten nicht physisch
    ablegen

26
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

27
2. Multidimensionale Speicherung 2.4 HOLAP
  • 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

28
3. Vergleich ROLAP, MOLAP, HOLAP (1)
Vorteile
ROLAP MOLAP HOLAP
verwendet 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 MOLAP MDDB-System greift nicht mehr auf die operativen Systeme zu, sondern auf ein relationales DW
29
3. Vergleich ROLAP, MOLAP, HOLAP (2)
Nachteile
ROLAP MOLAP HOLAP
Standard-SQL für multidimensionale Analysen nur bedingt ausreichend schlechtere 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-Aufwand keine einheitliche OLAP-Abfragesprache
30
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
  • effizientere Speicherung durch Array-Speicherung
  • primär für aggregierte Daten relevant, weniger
    zur Verwaltung von Detail-Fakten

31
  • Vielen Dank für die Aufmerksamkeit
Write a Comment
User Comments (0)
About PowerShow.com