Kapitel 3

Werbung
Vorlesungs-Übersicht
1) Einführung und Definitionen
2) Architektur eines Data-Warehouse-Systems
3) Das multidimensionale Datenmodell
4) ETL: Extraktion, Transformation, Laden
5) Anfrageverarbeitung und -optimierung
6) Indexstrukturen für das multidimensionale Datenmodell
7) Materialisierte Views
8) Metadaten
9) OLAP, Data Mining, Process Mining
10) Zusammenfassung und Ausblick
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
1
Vorlesung Data-Warehouse-Systeme im Sommersemester 2006
Kapitel 3
- Das multidimensionale Datenmodell -
1
Kapitel 3: Überblick
3.1 Data-Warehouse-Designprozess
3.2 Konzeptuelle Datenmodellierung
3.3 Formalisierung und Analyseoperationen
3.4 Umsetzung des multidimensionalen Datenmodells
3.5 Zusammenfassung
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
3
3.1 Motivation
S
S
S
S
S
Zentrale Frage: Wie modellieren wir die Daten in geeigneter Weise,
d.h. für die Anwendung im Data-Warehouse-System?
Im Fokus: Modellierung sollte Analysen ermöglichen / unterstützen!
Anfragen beziehen sich meist auf mehrere Aspekte (z.B. Zeit, Ort,
Produkt)
Forderung nach mehrdimensionaler Darstellung der Daten (z.B. als
Würfel)
) 1. ASPEKT
Analog zu klassischen Datenbank-Systemen:
Nicht sofort Relationen / Tabellen anlegen (also z.B. in SQL), sondern
P Erst semantischer / konzeptueller Entwurf (z.B. Entity-Relationship)
Siehe auch Datenbank- bzw. Data-Warehouse-Designprozess
) 2. ASPEKT
P
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
4
2
3.1 Motivation (1. ASPEKT)
S
Datenmodell sollte Analyse unterstützen
P
P
P
S
Was soll analysiert werden? Kennzahlen (Erlöse, Gewinne, Verluste, etc.)
meist aus betriebswirtschaftlicher Sicht
Wie soll analysiert werden? Kennzahlen sollen aus unterschiedlichen
Perspektiven (zeitlich, regional, produktbezogen) betrachtet werden
können Dimensionen
Dimensionen sollen in verschiedener Granularität betrachtet werden
können (z.B. Zeit als Jahr, Quartal, Monat) Hierarchien oder
Konsolidierungsebenen
Verfügbare Informationen
P
Qualifizierend Repräsentiert durch „Kategorienattribute“
X
X
P
Daten zur Nutzung als Navigationsraster („Drill-Pfade“)
Modelliert als Begriffshierarchien im Rahmen von Dimensionen
Quantifizierend
X
X
Bilden Gegenstand der Auswertung („Summenattribute“)
Zellen eines Würfels, mit Dimensionen als Kanten
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
5
3.1 Motivation (2. ASPEKT)
Prozessmodell:
Sammeln von
Information
Analyse der
Bedeutung
Semantische
Datenmodelleriung
Rohmodellierung
Logische
Datenmodelleriung
DatenbankInstallation
Präzise
Modellierung
Zeit
Konzeptuelles Schema
• Interviews
• Analyse der
Substantive
• Entity-RelationshipModellierung (ERM)
• hierarchisch
• Netzwerk
• UML
• relational
• DB2
• objekt-orientiert
• Analyse von
Dokumenten
• ORACLE
•…
•…
•…
•XML
• Brainstorming
•…
DBMS unabhängig
vgl. [HLV00]
Konzeptuelles
Schemadesign
DBMS abhängig
Logisches
Schemadesign
Physisches
Schemadesign
3
3.1 Data-Warehouse-Designprozess (2. ASPEKT)
Analyse und Spezifikation
der Anforderungen
Operationales
Datenbankschema
Konzeptuelles
Design
Semiformales
Geschäftskonzept
Logisches
Design
Formales
konzeptuelles
Schema
Operationales
Datenbankschema
Physisches
Design
Physisches
Datenbankschema
Zeit
• Interviews
• ME/R
• multidimensional
• DB2
• Analyse der Substantive
• mUML
• relational
• ORACLE
• Brainstorming
• graphbasiert
• objekt-relational
• MS Server
• Analyse von Dokumenten
•…
•…
• Essbase
• MS Analysis
Services
•…
•…
vgl. [HLV00]
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
7
3.1 relationale vs. multidimensionale Schemaarchitektur (2. ASPEKT)
relational
multidimensional
Konzeptuelles Schema
Konzeptuelles Schema
Entity-Relationship
ME/R, mUML
Logisches Schema
Logisches Schema
Relationen
Dimensionen, Würfel
Physisches Schema
Physisches Schema
Speicherstrukturen
Relationen
(Faktentabelle, …),
MD-Strukturen
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
8
4
Kapitel 3: Überblick
3.1 Data-Warehouse-Designprozess
3.2 Konzeptuelle Datenmodellierung
3.3 Formalisierung und Analyseoperationen
3.4 Umsetzung des multidimensionalen Datenmodells
3.5 Zusammenfassung
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
9
3.2 … was wir kennen ….
Packungstyp
1
ist
verpackt
von
liegt in
n
n
Artikel
gehört
zu
1
Stadt
Datum.
wurde
verkauft
Bezirk
m
Filiale
Name
n
Artikel-Nr.
Auszug eines E/R-Modells für das Kaufhausbeispiel
Produktgruppe
S
Unterscheidung Klassifikationsstufen – (beschreibende) Attribute –
Kenngrößen Æ nicht direkt ersichtlich
P
S
z.B. Klassifikationsstufe Tag als Attribut modelliert, Klassifikationsstufe
Artikel als Entität
Welche Beziehungen sind Klassifikationsbeziehungen Æ nicht direkt
ersichtlich
P
z.B. als 1:n Beziehung, aber auch als Attribut (z.B. Bezirk bei Stadt)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
10
5
3.2 … was wir brauchen: Dimensionen und Hierarchien
S
Dimension:
P
P
P
P
P
S
Dimensionselemente:
P
P
P
S
Mögliche Perspektive, aus der Kennzahlen betrachtet werden können
endliche Menge von n (n ≥ 2) Dimensionselementen (Hierarchieobjekten)
Dimensionselemente stehen in Beziehung zueinander (z.B. Quartal ist
„Unterteilung“ von Jahr)
dienen der orthogonalen Strukturierung des Datenraums
Beispiele: Produkt, Geographie, Zeit
Knoten einer Klassifikationshierarchie
Klassifikationsstufe beschreibt Verdichtungsgrad
Darstellung von Dimensionen über Klassifikationsschema (Schema von
Klassifikationshierarchien)
Formen:
P
P
einfache Hierarchien
parallele Hierarchien
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
11
3.2 einfache Hierarchien
S
S
Oberster Knoten: Top beschreibt die stärkste Verdichtung (also auf
einen einzelnen Wert der Dimension)
Jede höhere Hierarchieebene enthält jeweils die aggregierten Werte
der niedrigeren Hierarchiestufe
Top
Top
Produktkategorie
Land
Produktfamilie
Stadt
Produktgruppe
Filiale
Artikel
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
12
6
3.2 parallele Hierarchien
S
S
S
Gruppierung innerhalb einer Dimension muss nicht immer eindeutig
sein mehrere Gruppierungen können parallel existieren
Keine hierarchische Beziehung in den parallelen Zweigen
Typisches Beispiel ist die Zeit-Dimension:
Top
Jahr
Quartal
Woche
Monat
Tag
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
13
3.2 Konzeptuelle Datenmodellierung
Transformation of the semi-formal business requirements
specification into a conceptual multidimensional schema.
S
konzeptuelle Datenmodellierung
P
P
P
P
P
P
P
Modellierung relevanter Zusammenhänge des Anwendungsgebietes
ER oder UML Diagrammen fehlt durch ihren universellen
Modellierungsanspruch eine DW-spezifische Semantik.
daher erfolgt die Modellierung durch ein MD-Designnotation. z.B. mE/R,
mUML
evolutionär: Erweiterung, Spezialisierung bestehender Formalismen vs.
revolutionär: neue, maßgeschneiderte Methodik
Diese unterstützen die Modellierung von Datenstrukturen wie
Dimensionen, Kenngrößen, Hierarchien
Entwurf einer für den Anwender bedarfsgerechten Auswertungsstruktur
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
14
7
3.2 mE/R-Modell
S
S
multidimensional Entity/Relationship
Erweiterung des klassischen ER-Modells (evolutionär)
P
Entity-Menge „Dimension Level“ (Klassifikationsstufe)
P
n-äre Beziehungsmenge „Fact“
P
Binäre Beziehungsmenge „Classification“ bzw. „Roll-Up“ (Verbindung von
Klassifikationsstufen)
X
X
X
S
keine explizite Modellierung von Dimensionen
Kennzahlen als Attribute der Beziehung
definiert gerichteten, nicht-zyklischen Graphen
mE/R-Modell: Notation
Klassifikationsstufe
FAKT
Klassifkationsbeziehung
Kenngröße
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
15
3.2 mE/R-Modell: Beispiel
Verkauf
Artikel
Gruppe
Familie
Branche
Filiale
Stadt
Bezirk
Region
Tag
Monat
Quartal
Jahr
Anzahl
Umsatz
Woche
S
S
S
S
S
Faktbeziehung: Verkaufsanalyse
Kenngrößen: Verkaufszahlen und Umsatz
Dimensionen: Produkt, Geographie, Zeit
Dimensionen ergeben sich aus den Basisklassifikationsstufen (z.B.
Tag)
Alternativpfad in der Zeitdimension
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
16
8
3.2 mUML - Grundlagen
S
S
S
Multidimensionale Erweiterung der UML…
… durch Einbeziehung multidimensionaler Sprachkonstrukte und deren
Semantik aus der Multidimensional Modeling Language (MML) Æ WIE?
UML: objektorientierte Notation
Unterstützung durch CASE-Werkzeuge, z.B. Rational Rose
bietet sprachinhärente Erweiterungsmöglichkeiten: Constraints, Eigenschaftswerte
(tagged values) und Stereotypen
P Achtung: in UML wird der Begriff Modell statt Schema verwendet!
P
P
S
S
S
tagged value entspricht Tupel (tag, Datenwert), wobei tag eine
Elementeigenschaft beschreibt (z.B. (EinzelVK, Preis))
tagged values beschreiben Eigenschaften von MML-Objekten
Stereotypen führen neue Modellierungskonstrukte auf Basis von UMLMetaklassen ein und spiegeln damit MML-Klassentypen wider:
P
P
S
Dimensionale Klassen
Fakt- und Datenklassen
Darstellung über UML-Klassendiagramme
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
17
3.2 mUML – Beispiel StarKauf*
<<Roll-up>>
Land
<<Dimensional-Class>>
<<Dimensional-Class>>
<<Dimensional-Class>>
Jahr
Region
<<Roll-up>>
Jahr
1 .. 2
<<Roll-up>>
Region
<<Dimensional-Class>>
<<Shared Roll-up>>
Jahr
Woche
<<Dimensional-Class>>
Quartal
Bezirk
<<Roll-up>>
Quartal
<<Dimensional-Class>>
<<Roll-up>>
Lieferantenland
<<Roll-up>>
Bezirk
<<Dimensional-Class>>
<<Dimensional-Class>>
Monat
Stadt
<<Roll-up>>
Monat
<<Roll-up>>
Woche
<<Roll-up>>
Stadt
<<Dimensional-Class>>
<<Dimensional-Class>>
<<Dimensional-Class>>
Tag
Filiale
<<Dimension>>
Zeit
Land
<<Fact-Class>>
Artikel
<<Roll-up>>
Produktgruppe
<<Dimension>>
Geographie
Verkauf
<<Dimensional-Class>>
Produktgruppe
<<Roll-up>>
Produktfamilie
1 .. *
<<Dimension>>
Produkt
<<Dimensional-Class>>
Produktfamilie
<<Dimensional-Class>>
Verkaufter Artikel
<<Roll-up>>
Produktkategorie
<<Dimensional-Class>>
Produktkategorie
9
3.2 mUML – Modellierung (1)
<<Roll-up>>
Land
<<Dimensional-Class>>
<<Dimensional-Class>>
<<Dimensional-Class>>
Jahr
Region
<<Roll-up>>
Jahr
1 .. 2
<<Roll-up>>
Region
<<Dimensional-Class>>
<<Shared Roll-up>>
Jahr
<<Dimensional-Class>>
Quartal
Woche
Bezirk
<<Roll-up>>
Quartal
<<Dimensional-Class>>
<<Roll-up>>
Lieferantenland
<<Roll-up>>
Bezirk
<<Dimensional-Class>>
<<Dimensional-Class>>
Monat
Stadt
<<Roll-up>>
Monat
<<Roll-up>>
Woche
Land
<<Roll-up>>
Stadt
<<Dimensional-Class>>
<<Dimensional-Class>>
Artikel
<<Dimensional-Class>>
<<Roll-up>>
Produktgruppe
<<Fact-Class>>
Filiale
Tag
Verkauf
<<Dimension>>
Zeit
<<Dimension>>
Anzahl:Verkäufe
Geographie
<<Fact-Class>>
EinzelVK:Preis
Verkauf
/Umsatz:Preis{formula=„Anzahl*EinzelVK“,
parameter=„Anzahl, EinzelVK“}
<<Dimension>>
Tagged value
Produkt
1 .. *
<<Dimensional-Class>>
Produktgruppe
<<Roll-up>>
Produktfamilie
<<Dimensional-Class>>
Produktfamilie
<<Dimensional-Class>>
<<Roll-up>>
Produktkategorie
Verkaufter Artikel
<<Dimensional-Class>>
Produktkategorie
3.2 mUML – Modellierung (2)
<<Roll-up>>
Land
<<Dimensional-Class>>
<<Dimensional-Class>>
<<Dimensional-Class>>
Jahr
Region
<<Roll-up>>
Jahr
1 .. 2
<<Roll-up>>
Region
<<Dimensional-Class>>
<<Shared Roll-up>>
Jahr
Woche
Quartal
Bezirk
<<Dimensional-Class>>
Monat
Stadt
<<Roll-up>>
Monat
<<Roll-up>>
Modellierung
der
Stadt
<<Dimensional-Class>>
Dimensionen
<<Dimensional-Class>>
<<Dimensional-Class>>
Tag
<<Dimension>>
Zeit
<<Roll-up>>
Lieferantenland
<<Roll-up>>
Bezirk
<<Dimensional-Class>>
<<Roll-up>>
Woche
Roll-up Pfade
<<Dimensional-Class>>
<<Roll-up>>
Quartal
<<Dimensional-Class>>
Land
<<Fact-Class>>
Artikel
<<Roll-up>>
Produktgruppe
Filiale
<<Dimension>>
Geographie
Verkauf
<<Dimensional-Class>>
Produktgruppe
<<Roll-up>>
Produktfamilie
1 .. *
<<Dimension>>
Produkt
<<Dimensional-Class>>
Produktfamilie
<<Dimensional-Class>>
Verkaufter Artikel
<<Roll-up>>
Produktkategorie
<<Dimensional-Class>>
Produktkategorie
10
3.2 mUML – Besonderheiten
<<Roll-up>>
Land
<<Dimensional-Class>>
• Anwendung von Aufsplittungsregeln
<<Dimensional-Class>>
• Letzte Kalenderwoche kann
zu 2
<<Dimensional-Class>>
<<Roll-up>>
Jahr
1 .. 2
<<Roll-up>>
Region
<<Dimensional-Class>>
<<Shared Roll-up>>
Jahr
<<Dimensional-Class>>
Quartal
Bezirk
<<Roll-up>>
Quartal
<<Dimensional-Class>>
Woche
<<Dimensional-Class>>
Monat
Stadt
<<Roll-up>>
Monat
<<Roll-up>>
Stadt
<<Dimensional-Class>>
<<Dimensional-Class>>
• Vererbung
<<Dimensional-Class>>
Artikel
• Spezialisierung
<<Roll-up>>
Produktgruppe
• Hier: eine Verkaufstransaktion
kann
auch
mehr
als
einen
Artikel
umfassen
<<Dimensional-Class>>
<<Dimension>>
Tag
<<Dimension>>
Zeit
<<Roll-up>>
Lieferantenland
<<Roll-up>>
Bezirk
<<Dimensional-Class>>
<<Roll-up>>
Woche
Land
unterschiedlichen Jahren gehörenRegion
Jahr
Filiale
<<Fact-Class>>
Geographie
Verkauf
Produktgruppe
<<Roll-up>>
Produktfamilie
1 .. *
<<Dimension>>
Produkt
<<Dimensional-Class>>
Produktfamilie
<<Dimensional-Class>>
Verkaufter Artikel
<<Roll-up>>
Produktkategorie
<<Dimensional-Class>>
Produktkategorie
3.2 Weitere Ansätze: Graphbasierte Ansätze
S
Idee: Beschreibung konzeptioneller Schemata in Form von Graphen
P
P
P
S
Ausgangspunkt: „statistische“ Tabelle mit Kopfzeile und seitlicher
Gliederung, teilweise Summenbildung über Zeilen und Spalten
Repräsentation der kategorisierenden Daten sowie der
Attributbeziehungen durch gerichteten, azyklischen Graphen
Navigationshilfe für Benutzer
Graphstruktur
P
P
P
Kanten: Beziehungen der Attribute
Knoten: unterschiedliche Semantik (in Abhängigkeit von konkreter
Notation)
Basistypen:
X
Kategorien- (Cluster) Knoten (C)
X
Kreuzprodukt-Knoten (X)
•
•
Repräsentiert Gruppierung einzelner Elemente gemäß Kategorienhierarchie
Aufspannen eines mehrdimensionalen Adressierungsraumes mit Hilfe der
Kategorienattribute über C-Knoten
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
22
11
3.2. Graphbasiertes Schema: Beispiel
Lehrer
Sekr.
Grundschule
Männl.
Realschule
Ing.
Chefs.
Sekr.
Bauing
.
1999
2000
2001
Weibl.
1999
2000
X
2001
Berufsgruppe
X
C
Jahr
Geschlecht
C
Männl.
Lehrer
C
Weibl.
1999
C
2001
Sekr.
Ing.
C
C
…
2000
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
23
3.2 Graphbasierte Ansätze: Zuordnungsregeln
S
Funktionale Abhängigkeit
P
Wird direkt durch Kante zwischen beiden C-Knoten repräsentiert
C
0 .. *
Berufsgruppe
Beruf
C
S
Berufsgruppe
0 .. 1
Beruf
N:M-Beziehung
P
Wird direkt durch Einführung eines X-Knotens repräsentiert
0 .. *
Geschlecht
X
0 .. *
Jahr
C
Geschlecht
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
C
Jahr
24
12
3.2 Graphbasierte Ansätze: weitere Knotentypen
S
Terminale Knoten (tn-Knoten)
P
P
S
Summenknoten (S-Knoten)
P
P
S
Repräsentation eines der möglichen Werte aus dem Wertebereich des
übergeordneten Kategorieattributes
Beispiel: „männlich“, „weiblich“ für „Geschlecht“
Explizite Spezifikation des quantitativen Teils eines Objektgraphen
(Mehrfachverwendung von Graphen)
Beispiel: „mittleres Einkommen“, „Anteil am Gesamteinkommen“ zu XKnoten
Topic-Knoten (T-Knoten)
P
P
P
Repräsentation einer Menge statistischer Objekte
Dekomposition statistischer Sachverhalte
Logische Verbindung von S-Knoten
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
25
3.2 Graphbasierte Ansätze: Modellierung der Abstraktion
S
Aggregation (A-Knoten)
P
P
S
Zusammenfassung logisch zusammengehöriger Einzelfakten
Beispiel: (Straße, Stadt, Land) zu Wohnort, (PersNr, Name, Wohnort,
Beruf) zu Erwerbstätige
Generalisierung (G-Knoten)
P
P
Definition einer übergeordneten Klasse abstrakter Objekte
Beispiel: Erwerbstätige, Erwerbslose zu Erwerbsperson
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
26
13
3.2 weitere Notationen
S
Erweiterungen von ER:
P
S
ADAPT
P
P
P
S
S
Application Design for Analytical Processing Technologies
Beschreibung sämtlicher Metadaten-Objekte
Aber: keine formale Grundlage
Graphbasiert:
P
S
Dimensional Fact Modeling
SUBJECT, GRASS, STORM, ADaS, …
Zur Zeit kein Standard verfügbar
Graphbasierte Ansätze zwar mächtig + flexibel, aber kaum verbreitet
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
27
3.2 TAFELÜBUNG: Konzeptuelle Modellierung
S
Gegeben: meteorologische Daten
P
P
P
P
S
In der meteorologischen Station MetWatch wird die Entwicklung von
Temperatur und Luftfeuchtigkeit innerhalb Deutschlands über die letzten
Jahre gemessen und ausgewertet.
Dazu interessieren die einzelnen Tageswerte, aber auch die wöchentliche,
monatliche und jährliche Entwicklung soll auswertbar sein.
Außerdem sollen die Werte einzelner Bundesländer, Regionen und Städte
analysiert werden.
Schließlich soll auch der Faktor „Großwetterlage“ mit den Kategorien
„Hoch“ und „Tief“ einbezogen werden.
Stellen Sie den obigen Sachverhalt in als mE/R-Modell dar.
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
28
14
3.2 TAFELÜBUNG: Ergebnis
Dimensionen: Großwetterlage, Geographie, Zeit
HochTief
Wetter
Stadt
Region
Tag
Monat
Bundesland
Temperatur
Luftfeuchtigkeit
Jahr
Woche
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
29
Kapitel 3: Überblick
3.1 Data-Warehouse-Designprozess
3.2 Konzeptuelle Datenmodellierung
3.3 Formalisierung und Analyseoperationen
P
P
P
Motivation
Definitionen
Operationen
3.4 Umsetzung des multidimensionalen Datenmodells
3.5 Zusammenfassung
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
30
15
3.3 Motivation: Beispiel multidimensionales Schema
Artikel
Gruppe
Familie
Kategorie
Stadt
Bezirk
Region
Quartal
Jahr
Verkauf
Anzahl
Kunde
Alter
Umsatz
Filiale
Einkauf
Menge
Woche
Preis
Tag
Monat
VK-Preis
Es befinden sich 4 Würfel in der
Datenbank
Lager
Nämlich: Verkauf, Einkauf, Preis, Lager
Lagerbestand
Mit den Dimensionen: Produkt, Zeit,
Geographie, Kunde
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
31
3.3 Schema einer Dimension
S
Schema einer Dimension DS
P
Partiell geordnete Menge von Kategorienattributen ({K1, …, Kn, TopD}; →)
X
X
P
P
Generisches maximales Element TopD
Funktionale Abhängigkeit →
TopD wird von allen Attributen funktional bestimmt:
∀i, 1 ≤ i ≤ n: Ki → TopD
Genau ein Ki, das alle anderen Kategorieattribute bestimmt
X
Gibt feinste Granularität einer Dimension vor:
∃i, 1 ≤ i ≤ n, ∀ j, 1 ≤ j ≤ n, i ≠ j, Ki → Kj
S
Beispiel für die Zeitdimension
DSZeit = ({Tag, Woche, Monat, Quartal, Jahr, TopZeit) mit den
funktionalen Abhängigkeiten
P
P
P
Tag → Woche
Tag → Monat → Quartal → Jahr
Tag → TopZeit, Woche → TopZeit, Quartal → TopZeit, Jahr → TopZeit
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
32
16
3.3 Kategorienattribute
S
Inhaltliche Verfeinerung durch unterschiedliche Rollen
P
Primärattribut
X
X
X
P
Klassifikationsattribut
X
X
P
Kategorienattribut, das alle anderen Attribute einer Dimension bestimmt
Definiert maximale Feinheit
Beispiel: „Tag“
Element der Menge, die mehrstufige Kategorisierung (Klassifikationshierarchie)
bilden
Beispiel: „Monat“, „Quartal“
Dimensionales Attribut
X
X
Element der Menge der Attribute, die vom Primärattribut oder einem
Klassifikationsattribut bestimmt werden und nur TopD bestimmen
Beispiel: „Artikelnummer“ zu Artikel
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
33
3.3 Kategorienattribute : Beispiel
Dimensionales Attribut
Kunde
Alter
Verkauf
Artikel
Gruppe
Familie
Branche
Filiale
Stadt
Bezirk
Region
Tag
Monat
Quartal
Jahr
Anzahl
Umsatz
Woche
Primärattribut
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
Klassifkationsattribute
34
17
3.3 Kennzahlen / Fakten
S
Kennzahlen/Fakten (engl. facts):
P
P
S
S
Fakt: Basiskennzahl
Kennzahl:
P
P
S
S
(verdichtete) numerische Messgrößen
Beschreiben betriebswirtschaftliche Sachverhalte
aus Fakten konstruiert (abgeleitete Kennzahl)
Durch Anwendung arithmetischer Operationen
Beispiele: Umsatz, Gewinn, Verlust, Deckungsbeitrag
Ein Fakt F eines multidimensionalen Schemas ist definiert als Tupel
F:= (G, SumTyp) mit
P
G := {DS1.K1, …, DSn.Kn} bezeichnet die Granularität des betrachteten Schemas
mit
X
X
X
P
DS1, …, DSn im Schema existierende Dimensionsschemata mit DSi = ({Ki1, …, Kim}, Æ)
∀ i, p mit 1 ≤ i, p ≤ n, i ≠ p: ¬ (DSi.Ki → DSp.Kp), d.h. keine funktionale Abhängigkeit
zwischen Kategorienattributen einer Granularität
Beispiel: GVerkauf1 = (Produkt.Gruppe, Zeit.Monat, Geographie.Stadt)
Summationstyp SumTyp (bestimmt, welche Aggregrationsfunktion auf Fakt /
Kenngröße angewendet werden darf)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
35
3.3 Kennzahl
S
Kennzahl M ist definiert als Tripel M = (G, f(F1, …, Fk), SumTyp) mit
Granularität G
Berechnungsvorschrift f()
P Summationstyp SumTyp
P Berechnung über nichtleerer Teilmenge der im Schema existierenden Fakten
P
P
S
Berechnungsvorschrift
P
Bildung von f()
X
Skalarfunktionen
•
•
X
Aggregatfunktionen
•
•
•
X
+, -, *, /, mod
Beispiel: Umsatzsteueranteil = Menge * Preis * Steuersatz
Funktion H() zur Verdichtung eines Datenbestandes, indem aus n Einzelwerten ein Aggregatwert
ermittelt wird
H: 2 dom(X1) ×… × dom(Xn) Æ dom(Y)
SUM(), AVG(), MIN(), MAX(), COUNT()
Ordnungsbasierte Funktionen
•
•
Definition von Kennzahlen auf Basis zuvor definierter Ordnungen
Bsp.: Kumulation, TOP(n)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
36
18
3.3 Summationstyp
S
S
erlaubte Aggregationsoperationen
FLOW
P
P
S
STOCK
P
P
S
Beliebig aggregierbar
Beispiel: Bestellmenge eines Artikels pro Tag
Beliebig aggregierbar mit Ausnahme temporaler Dimension
Beispiele: Lagerbestand, Einwohnerzahl pro Stadt
VALUE-PER-UNIT (VPU)
P
P
P
Aktuelle Zustände, die nicht summierbar sind
Zulässig nur: MIN(), MAX, AVG()
Beispiele: Wechselkurs, Steuersatz
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
37
3.3 Summierbarkeit
FLOW
STOCK: Aggregration über
temporale Dimension?
Nein
VPU
Ja
MIN/MAX
+
+
SUM
+
AVG
+
+
+
COUNT
+
+
+
-
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
+
+
-
38
19
3.3 Weitere Eigenschaften
S
Disjunktheit
P
P
Ein konkreter Wert einer Kennzahl geht exakt einmal in Ergebnis ein
Bsp.: Studierende im Grundstudium
Studierende
1999
2000
2001
Informatik
15
17
13
28
BWL
10
15
11
21
Gesamt
25
32
24
49
S
Gesamt
Vollständigkeit
P
Kennzahlen auf höherer Aggregationsebene lassen sich komplett aus
Werten tieferer Stufen berechnen
Restaurants
2001
2002
Ulm
45
46
Stuttgart
52
50
Augsburg
20
22
Gesamt
117
118
3.3 Multidimensionaler Datenwürfel für Verkauf
Zeit
Aus Darstellungsgründen im
Folgenden Abstraktion von
Dimension Kunde
Dimension
Jahr
Halbjahr
Quartal
Produkt
Kennzahl
Umsatz
Kategorie
Artikel
Kategorienattribut
Filiale
Geographie
Stadt
Bundesland
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
40
20
3.3 Würfel
S
S
S
S
S
S
Würfel (engl. cube, eigentlich Quader):
Grundlage der multidimensionalen Analyse
Kanten Dimensionen
Zellen ein oder mehrere Kennzahlen (als Funktion der Dimensionen)
Anzahl der Dimensionen Dimensionalität
Visualisierung
P
P
P
S
Aus Darstellungsgründen im
Folgenden Abstraktion von
Dimension Kunde
2 Dimensionen: Tabelle
3 Dimensionen: Würfel
>3 Dimensionen: Multidimensionale Domänenstruktur
Schema W eines Würfels ist definiert als Tupel W(G, M) mit
P
P
P
Granularität G
Menge der Kennzahlen M = (M1, …, Mm)
Beispiel: Verkauf((Produkt.Artikel, Zeit.Tag, Geographie.Filiale), (Verkauf, Umsatz))
S
Instanz eines Würfels wird durch das Kreuzprodukt der Wertebereiche aller am
Würfelschema beteiligten Attribute definiert (formal: WI ⊆ dom(G) × dom(M))
S
In multidimensionalen Schemata gilt Orthogonalität, d.h.
P
P
Beispiel für eine Würfelzelle des Verkaufswürfels: ((„Milch“, „22.02.05“, „Filiale Ulm“),(5, 4.95))
Keine funktionalen Abhängigkeiten zwischen Attributen unterschiedlicher Dimensionen
∀ i, 1 ≤ i ≤ n, ∀ j, 1 ≤ j ≤ n, i ≠ j, ¬ ∃ k, l : DSi.Kk Æ DSj.Kl
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
41
3.3 TAFELÜBUNG: Formalisierung konzeptuelles Modell
S
S
S
S
S
S
S
Gegeben: unsere Wetterstation MetWatch
Wie sieht die formale Definition des Würfels aus, der die Kenngrößen
Temperatur und Luftfeuchtigkeit auf den Klassifikationsstufen Monat
und Bundesland beschreibt?
Welche Berechnungsvorschrift bietet sich für die Kenngröße
Temperatur an?
Geben Sie eine beliebige Würfelzelle dieses Würfels an.
Wetter1((Zeit.Monat, Geographie.Bundesland,
Großwetterlage.HochTief), (Temperatur, Luftfeuchtigkeit))
Bspw. Durchschnittsbildung AVG() oder Maximum / Minimum
(Temperatur vom Typ VALUE-PER-UNIT)
Z.B. ((„April_2004“, „Hessen“, „Hoch“), (14, 20))
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
42
21
3.3 Grundoperatoren
S
Restriktion: Gegeben W((D1.K1, …, Dn.Kn), (M1, …, Mk)), Prädikat P
P
Restriktion ist definiert als σP(W) = {z ∈ W | P(z)}, falls alle Variablen in P
X
X
P
S
S
Entweder Klassifikationsstufen K sind, die funktional von einer
Klassifikationsstufe der Granularität von W abhängen
(formal: ∃Di.Ki mit Ki → K)
Oder Kenngrößen aus (M1, …, Mk) sind
Beispiel: W select = σP.Produktgruppe=„Video“(Verkauf)
Die Projektion einer Funktion der Kenngrößen F(K) eines Würfels W ist
definiert als πF(K)(W) = {(g, F(m)) ∈ dom(G) × dom(F(K)) | (g, m) ∈ W}
Verbundoperationen
P
P
P
P
Verbinden Kennziffern aus verschiedenen Würfeln zu einer neuen
Kennzahl
Gegeben: W1(G1, M1), W 2(G2, M2) lassen sich verbinden ⇔ G1 = G2 :=G
Verbund der Zellen wird über ihre Kennzahlen durchgeführt
Ergebnis W:= W1 W 2 mit W(G, M1 ∪ M2)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
43
3.3 Pivotierung / Rotation
Drehen des Würfels durch Vertauschen der Dimensionen Analyse
der Daten aus verschiedenen Perspektiven
Produkt
Ze
it
Produkt
Produkt
Ze
it
Pr
od
uk
t
Zeit
Zeit
Zeit
G
eo
gr
ap
hi
e
Zeit
Geographie
Produkt
Geographie
Pr
od
uk
t
G
eo
gr
ap
hi
e
S
Geographie
Geographie
22
3.3 Roll-Up / Drill-Down / Drill-Across
S
Roll-Up:
P
P
P
S
Drill-Down:
P
P
S
Erzeugen neuer Informationen durch Aggregierung der Daten entlang des
Konsolidierungspfades
Dimensionalität bleibt erhalten
Beispiel: Tag → Monat → Quartal → Jahr
komplementär zu Roll-Up
Navigation von aggregierten Daten zu Detail-Daten entlang der
Klassifikationshierarchie
Drill-Across:
P
P
Ausweisen von Kennzahlen bzgl. einer anderen Klassifikationshierarchie
bzw. Dimension
Also: „Wechsel von einem Würfel zu einem anderen“
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
45
3.3 Drill Down / Roll-up (2)
Q
G
eo
gr
ap
hi
e
Q
Zeit
2.
1.
Produkt
Drill-Down
Ja
n
Fe .
b.
M
ä
Ap rz
ril
M
a
Ju i
n
Ju i
li
Au
g
Se .
pt
O .
k
Not.
v
De .
z.
Roll-up
ua
rta
ua l
3.
r
Q ta l
u
4. art
Q al
ua
rta
l
Produkt Ge
og
ra
ph
ie
Zeit
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
46
23
3.3 Slice and Dice (1)
S
S
Erzeugen individueller Sichten
Slice:
P
P
P
S
Herausschneiden von „Scheiben“ aus dem Würfel durch Punkt- oder
Listeneinschränkungen auf Klassifikationsattributen
Verringerung der Dimensionalität
Beispiel: alle Werte des aktuellen Jahres in den Filialen Ulm und Bonn (Jahr = „2006“, Filiale IN („Ulm“, „Bonn“))
Dice:
P
P
P
Herausschneiden einen „Teilwürfels“
Erhaltung der Dimensionalität, Veränderung der Hierarchieobjekte
Beispiel: die Werte bestimmter Produkte oder Regionen
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
47
Dicing:
Geographie Pr
od
uk
t
Zeit
Geographie Pr
od
uk
t
Geographie
Slicing:
Pr
od
uk
t
3.3 Slice and Dice
Zeit
Zeit
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
48
24
Kapitel 3: Überblick
3.1 Data-Warehouse-Designprozess
3.2 Konzeptuelle Datenmodellierung
3.3 Formalisierung und Analyseoperationen
3.4 Umsetzung des multidimensionalen Datenmodells
P
P
Relationale Speicherung
Multidimensionale Speicherung
3.5 Zusammenfassung
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
49
3.4 Allgemeine Anmerkungen
S
Multidimensionale Sicht
P
P
S
Modellierung der Daten
Anfrageformulierung
Interne Verwaltung der Daten erfordert Umsetzung auf
P
ROLAP (relationales OLAP), Umsetzung der multidimensionalen Struktur
in Relationen
X
Vorteile:
•
•
X
relationale DBMS weit verbreitet
Ausgereifte Technologie
Nachteile:
•
•
Umsetzung der multidimensionalen Strukturen als Relationen:
Welche Nachteile ergeben sich hieraus?
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
50
25
3.4 Allgemeine Anmerkungen
P
MOLAP (multidimensionales OLAP), direkte Speicherung in
multidimensionalen Strukturen
X
Vorteile:
X
Nachteile:
•
•
•
P
Zellen können unter Umständen nur dünn besetzt sein (sparsity)
Skalierbarkeit
Hybrid, also Kombination von ROLAP und MOLAP
X
X
S
Keine Transformationen notwendig
Vorteile beider Varianten
Nachteil: Komplexität
Wesentliche Aspekte bei der Umsetzung multidimensionaler
Strukturen:
P
P
Speicherung
Anfrageformulierung bzw. -ausführung
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
51
3.4 Relationale Speicherung: Anforderungen
S
S
S
S
Informationen aus dem multidimensionalen Modell (z.B.
Klassifikationshierarchien) sollen nicht verloren gehen
effiziente Übersetzung und Verarbeitung multidimensionaler Anfragen
Update der gespeicherten Daten soll einfach sein
Analysen sollen adäquat unterstützt werden (z.B. Beachtung der
Anfragecharakteristik und des Datenvolumens)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
52
26
Aus Darstellungsgründen im
Folgenden Abstraktion von
Dimension Kunde
3.4 Relationale Speicherung: Faktentabelle
S
Ausgangspunkt: Umsetzung des Datenwürfels ohne
Klassifikationshierarchien
Dimensionen, Kennzahlen Spalten der Relation
Zelle Tupel
P Primärschlüssel: Artikel, Filiale, Tag
P Kenngrößen (measure, häufig numerisch): Verkauf
P Resultierende Tabelle heißt Faktentabelle (fact table)
P
P
Produkt
Melitta
Zeit
Jacobs
21.04.06
20.04.06
Ulm Stuttgart
Geographie
Artikel
Filiale
Tag
Verkauf
Melitta
Ulm
20.04.06
200
Jacobs
Ulm
21.04.06
500
Melitta
Stuttgart
20.04.06
214
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
53
3.4 Relationale Speicherung: Snowflake-Schema (1)
S
S
Klassifikationsstufen werden jeweils als eine Tabelle abgebildet (z.B.
Artikel, Produktgruppe, etc.)
Tabelle enthält
P
P
P
S
ID für Klassifikationsknoten
beschreibendes Attribut (z.B. Marke, Hersteller, Bezeichnung)
Fremdschlüssel der direkt übergeordneten Klassifikationsstufe
Faktentabelle enthält (neben Kenngrößen):
P
P
Fremdschlüssel der jeweils niedrigsten Klassifikationsstufe
Fremdschlüssel bilden zusammengesetzte Primärschlüssel für
Faktentabelle
S
Vorteile:
S
Nachteile:
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
54
27
3.4 Relationale Speicherung: Snowflake-Schema (2)
Quartal
n
1
Aus Darstellungsgründen im
Folgenden Abstraktion von
Dimension Kunde
Monat
QuartalID
Bezeichnung
JahrID
MonatID
Bezeichnung
QuartalID
1
Produktgruppe
n
1
Tag
Jahr
1
JahrID
Bezeichnung
n
1
n
Artikel
TagID
Bezeichnung
MonatID
WochenID
1
n
n
Woche
WochenID
Bezeichnung
JahrID
n
Stadt
n
n
ArtikelID
Bezeichnung
ProduktgruppeID
Marke …
Produktfamilie
1
n
ProduktfamilieID
Bezeichnung
ProduktkategorieID
1
ProduktkategorieID
Bezeichnung
Produktkategorie
Filiale
1
FilialeID
Bezeichnung
StadtID
Bezirk
1
StadtID
Bezeichnung
BezirkID
ArtikelID
TagID
FilialeID
Verkäufe
Umsatz
1
n
1
1
Verkauf
n
ProduktgruppeID
Bezeichnung
ProduktfamilieID
n
Region
1
BezirkID
Bezeichnung n
RegionID
Land
1
RegionID
Bezeichnung n
LandID
LandID
Bezeichnung
3.4 Relationale Speicherung: Snowflake-Schema (3)
Quartal
n
1
Monat
QuartalID
Bezeichnung
JahrID
MonatID
Bezeichnung
QuartalID
Zugehörige
1:n-Beziehung
1
Fremdschlüssel
Produktgruppe
n
1
Tag
Jahr
1
JahrID
Bezeichnung
n
1
n
Artikel
TagID
Bezeichnung
MonatID
WochenID
1
Verkauf
n
n
Woche
n
WochenID
Bezeichnung
JahrID
1
StadtID
Bezeichnung
BezirkID
n
ArtikelID
Bezeichnung
ProduktgruppeID
Marke …
n
n
Produktfamilie
1
n
ProduktfamilieID
Bezeichnung
ProduktkategorieID
1
ProduktkategorieID
Bezeichnung
Faktentabelle
Produktkategorie
Filiale
1
1
n
ArtikelID
TagID
FilialeID
Verkäufe
Umsatz
1
n
Stadt
1
FilialeID
Bezeichnung
StadtID
Bezirk
BezirkID
Bezeichnung n
RegionID
1
Region
RegionID
Bezeichnung n
LandID
1
ProduktgruppeID
Bezeichnung
ProduktfamilieID
Land
LandID
Bezeichnung
Aus Darstellungsgründen hier
Abstraktion von
Dimension Kunde
28
3.4 TAFELÜBUNG: Snowflake-Schema
S
S
Gegeben: unsere Wetterstation MetWatch
Geben Sie die relationale Speicherung des Wetter-Würfels als
Snowflake-Schema an.
Monat
n
MonatID
Bezeichnung
QuartalID
1
Tag
Jahr
1
JahrID
Bezeichnung
n
1
n
TagID
Bezeichnung
MonatID
WochenID
Stadt
1
n
Woche
n
1
Wetter
n
WochenID
Bezeichnung
JahrID
Region
1
StadtID
TagID
HTID
Temp.
Luftf.
StadtID
Bezeichnung
RegionID
n
RegionID
Bezeichnung
BundeslandID
n
Bundesland
n
1
BundeslandID
Bezeichnung
HochTief
1
1
HTID
Bezeichnung
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
57
3.4 Relationale Speicherung: Star-Schema (1)
S
Snowflake-Schema ist normalisiert:
P
P
S
Vermeidung von Update-Anomalien
Anfragen verursachen jedoch häufig „Monsterjoins“ (Joins über mehrere Tabellen)
deshalb Übergang zum so genannten Star-Schema:
P
P
P
P
P
Die zu einer Dimension gehörenden Tabellen werden denormalisiert, also zu einer
Dimensionstabelle (pro Dimension) „zusammengefasst“
Eine Konsequenz hieraus sind Redundanzen in der Dimensionstabelle
Diese Redundanzen erlauben jedoch eine schnellere Anfragebearbeitung
Beispiel: Artikel, Produkt, Produktgruppe etc. als Spalten in einer Tabelle Produkt
Vorteile des Star-Schemas:
X
X
P
Intuitive Umsetzung der multidimensionalen Struktur
Schnellere Anfrageauswertung, keine „Monsterjoins“
Nachteile:
X
X
Redundanzen aufgrund der Denormalisierung
Mehrfache Hierarchien können nicht direkt modelliert werden
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
58
29
3.4 Relationale Speicherung: Star-Schema (2)
3. Dimensionstabelle
1. Dimensionstabelle
Dim3_Schlüssel
Dim1_Schlüssel
Dim3_Attribute
Dim1_Attribute
4. Dimensionstabelle
2. Dimensionstabelle
Faktentabelle
Dim4_Schlüssel
Dim1_Schlüssel
Dim2_Schlüssel
Dim4_Attribute
Dim2_Schlüssel
Dim2_Attribute
Dim3_Schlüssel
…
Measure1
Measure2
Measure3
…
Allgemeines Star-Schema
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
59
3.4 Relationale Speicherung: Star-Schema (3)
Aus Darstellungsgründen im
Folgenden Abstraktion von
Dimension Kunde
Zeit
Produkt
1
ZeitID
1
Tag
ProduktID
Artikel
Woche
Produktgruppe
Monat
Produktfamilie
Verkauf
n
Quartal
Jahr
Geographie
n
GeographieID
ProduktID
n
Produktkategorie
ZeitID
Bezeichnung
GeographieID
Marke
Verkäufe
Packungstyp
Umsatz
…
Filiale
Stadt
StarKauf*-Szenario als StarSchema modelliert
Bezirk
Region
Land
1
…
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
60
30
3.4 Relationale Speicherung: Star-Schema (4)
S
Muster eines Star-Schemas:
P
P
P
P
S
Multidimensionales Schema mit n Dimensionen
Dimensionstabellen D1, ..., Dn der Form Di(PAi, Ai1, ..., Aik)
Faktentabelle F(PA1, ..., PAn, f1, ..., fk)
Jeder Teil des kompositen Primärschlüssels der Faktentabelle ist
Fremdschlüssel zum Primärschlüsselattribut der korrespondierenden
Dimension
Redundanzen in Dimensionstabelle durch Denormalisierung
P
Beispiel: Zugehörigkeit eines Artikels zu Produktgruppe führt zu
Zugehörigkeit zu Produktfamilie
ProduktID
Artikel
…
Produktgruppe
Produktfamilie
Kategorie
…
123
124
125
126
Melitta
Jacobs
Lavazza
Nesquik
…
…
…
…
Filterkaffee
Filterkaffee
Espresso
Instant-Kakao
Kaffee
Kaffee
Kaffee
Kakao
Heißgetränke
Heißgetränke
Heißgetränke
Heißgetränke
…
…
…
…
3.4 Vergleich von Star- und Snowflake-Schema (1)
S
Vorüberlegung: Wie sehen DWH-Anwendungen typischerweise aus?
P
P
P
S
Häufig werden Anfragen auf höhere Klassifikationsstufen gestellt
Dimensionstabellen weisen im Vergleich zu Faktentabellen ein geringes
Datenvolumen auf
Klassifikationen werden sehr selten geändert
Vorteile des Star-Schemas
P
P
P
P
P
leicht verständliche Struktur
Benutzer kann Anfragen intuitiver formulieren
effiziente Anfrageverarbeitung innerhalb einer Dimension (keine JoinOperation notwendig)
Redundanzen aufgrund Denormalisierung und damit verbunden das
Datenvolumen halten sich meistens in Grenzen
Gefahr von Update-Anomalien gering
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
62
31
3.4 Vergleich von Star- und Snowflake-Schema (2)
S
S
S
Vergleiche basieren häufig auf für Kostenbetrachtungen
Wir werden im Folgenden Kostenabschätzungen für Speicherbedarf
und Anfragekomplexität für Snowflake- und Starschema erarbeiten
Annahmen hierzu:
P
P
P
P
P
P
D Dimensionen, je K Klassifikationsstufen plus Top
Jeder Klassifikationsknoten hat 3 Kinder ⇒
M Fakten, gleich verteilt in Dimensionen
Attribut: b Bytes;
Knoten haben nur ID;
f Faktattribute
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
63
3.4 Vergleich von Star- und Snowflake-Schema (3)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
64
32
3.4 Vergleich von Star- und Snowflake-Schema (4)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
65
3.4 Vergleich von Star- und Snowflake-Schema (5)
S
Anfrage: Verkäufe der Produktgruppe „Soft-Drink“ pro Filiale und Jahr
Snowflake-Schema:
S
Anzahl der Joins: 6 (steigt linear mit Anzahl der Aggregationspfade)
S
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
66
33
3.4 Vergleich von Star- und Snowflake-Schema (6)
S
Anfrage für Star-Schema:
S
Anzahl der Joins: 3 (unabhängig von der Länge der
Aggregationspfade)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
67
3.4 Weitere Möglichkeiten
S
„Mix“ aus Snowflake-Schema oder Star-Schema
P
Entscheidung für jeweilige Dimension anhand der folgenden Fragen:
X
X
X
X
S
Zusammenfassungen innerhalb des Star-Schemas
P
P
P
S
Wie häufig ändert sich die jeweilige Dimensionen?
Wie viele Klassifikationsstufen besitzt die Dimension?
Wie viele Dimensionselemente besitzt die Dimension?
Sollen bestimmte Aggregate materialisiert gehalten werden?
eine Faktentabelle
mehrere Kennzahlen nur möglich bei gleichen Dimensionen
Im Beispiel (Folie 31) haben nur die Kennzahlen Verkauf und Umsatz die
gleichen Dimensionen und können deshalb durch eine gemeinsame
Faktentabelle repräsentiert werden
Galaxie (Multi-Faktentabellen-Schema, Multi-Cube, Hyper-Cube)
P
P
mehrere Faktentabellen
teilweise mit gleichen Dimensionstabellen verknüpft
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
68
34
3.4 Fact Constellation
S
S
Aus Optimierungsgründen kann es sinnvoll sein, bestimmte Aggregate
(die z.B. häufig angefragt werden) vorzuhalten (z.B. Umsatz pro
Monat).
Erste Möglichkeit: Speicherung der Aggregate in der Faktentabelle
P
S
S
Hierzu nötig: Unterscheidung in Dimensionstabelle über spezielle Attribute
(z.B. „Stufe“, siehe Abbildung auf Folie 72)
Alternative: die Aggregrate werden in eigenen Faktentabellen gehalten
Diese Art von Schema wird Fact-Constellation-Schema genannt (da
mehrere Faktentabellen) und ist ein Spezialfall des Galaxie-Schemas.
P
P
Einführung des zusätzlichen Attributes „Stufe“ ist nicht nötig
Würfel, die durch Aggregation auseinander hervorgehen, teilen sich
entsprechende Dimensionen
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
69
3.4 Klassifikationshierarchien (1)
S
Horizontal: Modellierung der Stufen der Klassifikationshierarchie als
Spalten der denormalisierten Dimensionstabelle
Vorteil:
S
Nachteile:
S
SELECT DISTINCT Produktgruppe
FROM Produkt
WHERE Produktkategorie = „Heissgetraenk“
ProduktID
Artikel
Produktgruppe
Produktkategorie
123
124
125
126
Melitta
Jacobs
Lavazza
Nesquik
Filterkaffee
Filterkaffee
Espresso
Instant-Kakao
Heissgetraenk
Heissgetraenk
Heissgetraenk
Heissgetraenk
35
3.4 Klassifikationshierarchien (2)
S
Vertikal (rekursiv): normalisierte Dimensionstabelle mit Attributen
P
P
S
Vorteile:
P
P
S
Dimensions_ID: Schlüssel, der Beziehung zu Faktentabelle herstellt
Eltern_ID: Attributwert der Dimensions-ID der nächsthöheren Stufe
Einfache Änderung am Klassifikationsschema
Einfache Behandlung vorberechneter Aggregate
Nachteil:
P
P
Self-Join für Anfragen einzelner Stufen
(Bsp.: Produktgruppe innerhalb einer Kategorie)
Rekursion
SELECT L3.ElternID
DimensionsID
ElternID
Melitta
Jacobs
…
Filterkaffee
…
Filterkaffee
Filterkaffee
…
FROM Produkt AS L1, Produkt AS L2, Produkt AS L3 Heissgetraenk
WHERE L1.DimensionID = „Heissgetraenk“ AND
…
L2.ElternID = L1.DimensionID AND
L3.ElternID = L2.DimensionID
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
Heissgetraenk
…
Lebensmittel
…
71
3.4 Klassifikationshierarchien (3)
S
Kombination von horizontaler und vertikaler Darstellung
P
P
P
P
S
Repräsentation der Klassifikationsstufen als Spalten
Spaltenbezeichner werden generisch gehalten
Speicherung der Knoten aller höheren Stufen als Tupel
Zusätzliches Attribut „Stufe“ Angabe der bezeichneten
Klassifikationsstufe
DimesionsID
Stufe1_ID
Stufe2_ID
Stufe
Melitta
Jacobs
Filterkaffee
Heissgetraenk
Filterkaffee
Filterkaffee
Heissgetraenk
NULL
Heißgetränke
Heissgetraenk
NULL
NULL
0
0
1
2
Wie können bei der relationalen Abbildung Semantikverluste verhindert
werden?
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
72
36
3.4 Relationale Umsetzung multidimensionaler Anfragen
S
S
S
S
Hängt von der Abbildungsvariante für das Schema ab
Meistens Aggregatanfragen bestehend aus (n+1)-Wege-Verbund zwischen n
Dimensionstabellen und der Faktentabelle
Star-Join-Anfragemuster
Beispiel: „Wie viele Artikel der Produktkategorie Heißgetränke wurden 2004
pro Monat in den unterschiedlichen Regionen verkauft?“
SELECT G.Region, Z.Monat, SUM (Verkäufe)
FROM Verkauf V, Zeit Z, Produkt P, Geographie G
WHERE V.Produkt_ID = P.Produkt_ID AND
V.ZEIT_ID = Z.ZEIT_ID AND
V.Geo_ID = G.Geo_ID AND
P.Produktfamilie = „Heissgetraenk“ AND
Z.Jahr = 2004 AND
G.Land = „Deutschland“
GROUP BY G.Region, Z.Monat
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
73
3.4 CUBE-Operator (1)
Erweiterung in SQL: Gruppierung einer Eingaberelation nach
mehreren Gruppierungskombinationen
CUBE-Operator
S
SELECT Region, Prodfamilie, Jahr, SUM(Verkäufe) AS
Verkäufe FROM …
GROUP BY Region, Prodfamilie, Jahr;
Verkauf
Einfache Gruppierungsbedingung
Region
Prodfamilie
Jahr
Verkäufe
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Hessen
Hessen
Hessen
Hessen
…
Video
Video
Video
Audio
Audio
Audio
TV
TV
TV
Video
Video
Video
Audio
…
1998
1999
2000
1996
1999
2000
1996
1999
2000
1998
1999
2000
1996
…
12
48
58
31
67
66
15
55
51
22
50
67
51
…
37
3.4 CUBE-Operator (2)
Verkauf
(SELECT Region, Prodfamilie, Jahr,
SUM(Verkäufe) AS Verkäufe
FROM…
GROUP BY Region, Prodfamilie, Jahr)
UNION
(SELECT Null AS Prodfamilie, Region, Jahr,
SUM(Verkäufe) AS Verkäufe
FROM
GROUP BY Region, Jahr)
UNION
… // (Prodfamilie,Region), (Prodfamilie,Jahr)
// (Region), (Jahr)
UNION
(SELECT Prodfamilie, NULL AS Region, NULL AS
Jahr, SUM(Verkäufe) AS Verkäufe
FROM…
GROUP BY Prodfamilie)
UNION
(SELECT NULL AS Prodfamilie, NULL AS Region,
NULL AS Jahr, SUM(Verkäufe) AS Verkäufe
FROM…)
Komplexe Gruppierungsbedingung
Region
Prodfamilie
Jahr
Verkäufe
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Bayern
Hessen
…
Hessen
NULL
NULL
NULL
NULL
NULL
…
NULL
NULL
NULL
NULL
Video
Video
Video
Video
Audio
Audio
Audio
Audio
TV
TV
TV
TV
NULL
Video
…
NULL
Video
Video
Video
Video
Audio
…
NULL
NULL
NULL
NULL
1998
1999
2000
NULL
1998
1999
2000
NULL
1996
1999
2000
NULL
NULL
1998
…
NULL
1998
1999
2000
NULL
1996
…
1998
1999
2000
NULL
12
48
58
118
31
67
66
164
15
55
51
121
403
22
…
501
34
96
156
257
82
…
172
382
350
806
3.4 CUBE-Operator (3)
S
Nachteile dieser Lösung:
Aufwendige Formulierung (aber automatische Generierung durch OLAP-Tools)
Potenziell teure Verbundoperationen müssen für jede Teilanfrage neu ausgewertet
werden
P CUBE-Operator erzeugt alle möglichen Gruppierungskombinationen; andernfalls
nur über lange UNION-Listen möglich
P
P
SELECT
Region, Prodfamilie, Jahr,
GROUPING(Region), GROUPING(Prodfamilie), GROUPING(Jahr),
SUM(Verkäufe) AS Verkäufe
FROM…
GROUP BY
CUBE(Region, Prodfamilie, Jahr)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
76
38
3.4 CUBE-Operator (3)
S
Nachteile dieser Lösung:
GROUPING
liefert (aber
1, falls
auf Gruppierungsattribut
angewandt
Aufwendige
Formulierung
automatische
Generierung durch
OLAP-Tools)
und über dieses Attribut hinweg aggregiert wird
P Potenziell teure Verbundoperationen müssen für jede Teilanfrage neu ausgewertet
Andernfalls liefert GROUPING 0
werden
P CUBE-Operator
erzeugt alle möglichen
Gruppierungskombinationen;
Æ Falls Gesamtsumme
nicht zurück
geliefert werden soll: andernfalls
nur über lange UNION-Listen möglich
HAVING NOT(GROUPING(Prodfamilie) = 1
AND GROUPING(Region) = 1
AND GROUPING(Jahr) = 1)
P
SELECT
Region, Prodfamilie, Jahr,
GROUPING(Region), GROUPING(Prodfamilie), GROUPING(Jahr),
SUM(Verkäufe) AS Verkäufe
FROM…
GROUP BY
CUBE(Region, Prodfamilie, Jahr)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
77
Produkt
Ze
it
Produkt
Produkt
Ze
it
Pr
od
uk
t
Zeit
Zeit
Zeit
G
eo
gr
ap
hi
e
Zeit
Geographie
Produkt
Geographie
Pr
od
uk
t
G
eo
gr
ap
hi
e
3.4 CUBE-Operator(4): Pivotierung / Rotation (zur Erinnerung)
Geographie
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
Geographie
78
39
3.4 CUBE-Operator (5)
Verkäufe
Bayern
Hessen
Video
Audio
TV
SUMME
Verkäufe
2002
12
31
15
58
2002
2003
48
67
55
170
Hessen
22
51
49
122
2004
58
66
51
175
SUMME
34
82
64
180
SUMME
118
164
121
403
Bayern
48
67
55
170
2002
22
51
49
122
Hessen
50
34
37
121
2003
50
34
37
121
SUMME
98
101
92
291
2004
67
42
51
160
Bayern
58
66
51
175
SUMME
139
127
137
403
Hessen
67
42
51
160
257
291
258
806
SUMME
125
108
102
335
257
291
258
806
SUMME
Bayern
2003
2004
SUMME
Video
Audio
TV
SUMME
12
31
15
58
mit 2 unterschiedlichen Pivotierungen
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
79
3.4 CUBE-Operator(6): Roll-Up (SQL99)
SELECT
Prodkategorie, Prodfamilie,
Region, Land,
SUM(Verkäufe) AS Verkäufe
Rollup in dieser Dimension in
folgenden Schritten:
d.h.
FROM…
WHERE…
GROUP BY
ROLLUP(Produktkategorie, Prodfamilie),
ROLLUP(Land, Region)
Erzeugt: (Prodkategorie, Prodfamilie)
(Prodkategorie)
()
zuerst
kreuz
A1, …, An-1, An
A1, …, An-1
…
A1
()
(Land, Region)
(Land)
()
dann
Bei 4 Gruppierungsattribute
– Cube-Operator: 24 = 16 unterschiedl. Gruppierungen
– Rollup-Operator: 3*3 = 9 unterschiedl. Gruppierungen
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
80
40
3.4 GROUPING Sets
S
S
S
Komplexeste Art der Gruppierung (in SQL:99)
Argumente können selbst wieder Gruppierungen sein, außer Grouping
Sets.
Beispiel:
SELECT ... SUM(Verkäufe) AS Verkäufe
FROM ...
GROUP BY
ROLLUP(Produktkategorie, Produktfamilie) (1)
GROUPING SETS((STADT),(REGION)),
(2)
GROUPING SETS(ROLLUP(Jahr, Quartal, Monat),(Woche)) (3)
Bedeutung:
(1) entlang der Klassifikationshierarchie
(2) nur für Städte und Regionen
(3) Nutzung der Parallelhierarchie (Jahr Æ Quartal Æ Monat) und Woche
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
81
3.4 Probleme der relationalen Speicherung
S
S
S
S
S
Multidimensionale Struktur muss in eine oder mehrere „flache“
relationale Tabellen gepresst werden.
Transformation multidimensionaler Anfragen in relationale
Repräsentation notwendig komplexe Anfragen
Einsatz komplexer Anfragewerkzeuge notwendig (OLAP-Werkzeuge)
Semantikverlust
daher: direkte multidimensionale Speicherung ?
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
82
41
3.4 Multidimensionale Speicherung (1)
S
Verwendung unterschiedlicher Datenstrukturen für Datenwürfel und
Dimensionen
P
Dimension:
X
X
P
endliche, geordnete Liste von Dimensionswerten
Ordnung der Dimensionswerte
Würfel:
X
X
X
X
X
X
Für n Dimensionen: n-dimensionaler Raum
m Dimensionswerte einer Dimension: Aufteilung des Würfels in m parallele
Ebenen
Zelle eines n-dimensionalen Würfels wird eindeutig über n-Tupel von
Dimensionswerten identifiziert
Zelle kann ein oder mehrere Kennzahlen eines zuvor definierten Datentyps
aufnehmen
Wir als Array gespeichert
häufig proprietäre Strukturen (und Systeme)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
83
3.4 Multidimensionale Speicherung (2)
S
Klassifikationsstufen:
P
Wichtig: Knoten der höheren Stufen bilden weitere Ebenen
Ulm
Umsatz in BadenWürttemberg im
Januar
Stuttgart
Baden-Württemberg
München
Bayern
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
Umsatz in
Stuttgart im
1. Quartal
Januar
Februar
März
1. Quartal
84
42
3.4 Multidimensionale Speicherung (3)
S
S
Vergleich Aggegration zur Laufzeit versus Vorberechnung
Laufzeit:
P
P
P
S
Berechnung aus Detaildaten
hohe Aktualität, jedoch hoher Aufwand
eventuell Caching
Vorberechnung:
P
P
P
Berechnung und Eintragen der Aggregationswerte in entsprechende
Zellen
Neuberechnung nach jeder Datenübernahme notwendig
hohe Anfragegeschwindigkeit, jedoch Zunahme der Würfelgröße und
Laufzeitaufwand
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
85
3.4 Multidimensionale Speicherung (4)
S
S
Weitere Datenstrukturen
Virtueller Würfel
P
S
S
Ergibt sich aus bestehenden Würfeln durch die Anwendung von
Berechnungsfunktionen (z.B. Gewinn)
Teilwürfel (Kombination mehrerer Ebenen eines Würfels Æ virtuell)
Attribute
P
P
Merkmale einer Dimension
Untermengen von Dimensionswerten können über Attribute identifiziert
werden (z.B. „Produktfarbe“)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
86
43
3.4 Multidimensionale Speicherung (5)
D1
D2
( 5)
(4)
Mä
nte
l
3)
e id
er
n(
He
D3
Ho
se
Linearisierungsreihenfolge:
md
e
1)
S
Kl
S
Rö
ck
e(
S
Speicherung des Würfels als n-dimensionales Array
hierzu Linearisierung in eine eindimensionale Liste ( Kapitel 6,
multidimensionale Indexstrukturen)
Indizes des Arrays ≡ Koordinaten der Würfelzellen (Dimensionen Di)
Indexberechnung für Zelle mit Koordinaten x1, …, xn
Index(z) = x1 + (x2 – 1) * |D1|
+ (x2 – 1) * |D1| * |D2| + …
+ (xn – 1 ) * |D1| * … * |Dn-1|
n(
2)
S
1
2
3
4
5
Januar (1)
6
7
8
9
10
Februar (2)
11 12 13 14 15
16 17 18 19 20
März (3)
April (4)
3.4 Multidimensionale Speicherung (6)
S
Probleme bei der multidimensionalen Speicherung:
P
ungünstige Linearisierungsreihenfolgen können zu schlechtem
Anfrageverhalten führen!
P
Skalierbarkeitsprobleme aufgrund dünn besetzter Datenräume
teilweise einseitige Optimierung bezüglich Leseoperationen
Reorganisation nach Änderungen an den Dimensionen kann aufwendig
werden (da Dimensionswerte geordnet)
keine Standard für multidimensionale DBMS ( Spezialwissen notwendig)
X
P
P
P
Eventuell Abhilfe durch Caching
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
88
44
3.4 Multidimensionale Speicherung (7)
S
S
Vergleich von multidimensionaler und relationaler Speicherung
Welche Faktoren spielen eine Rolle?
Speicherung Array
Relational (Star-Schema)
Faktoren
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
89
Kapitel 3: Überblick
3.1 Data-Warehouse-Designprozess
3.2 Konzeptuelle Datenmodellierung
3.3 Formalisierung und Analyseoperationen
3.4 Umsetzung des multidimensionalen Datenmodells
3.5 Zusammenfassung
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
90
45
3.5 Zusammenfassung
S
Konzeptuelle Modellierung der Daten:
P
P
P
P
S
Multidimensionale Erweiterungen von
Entity/Relationship-Modell (mE/R)
UML (mUML)
Weitere Ansätze (z.B. graphbasiert)
Umsetzung der konzeptuellen Modellierung:
P
P
P
Relational (ROLAP): Snowflake-Schema, Star-Schema
Multidimensional (MOLAP)
Hybrid (HOLAP): Kombination aus ROLAP und MOLAP
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
91
Referenzen
[HLV00]
Bodo Hüsemann, Jens Lechtenbörger, Gottfried Vossen:
Conceptual Data Warehouse Design, In Proc. Int‘l Workshop
on Design and Management of Data Warehouses, pp. 3–9
(2000)
©Stefanie Rinderle-Ma, Institut DBIS, Universität Ulm, WS 2008/09 – Kap. 3
92
46
Herunterladen