Multidimensionale Modellierung

Transcrição

Multidimensionale Modellierung
Data Warehousing
Modellierung im DWH
Das multidimensionale Datenmodell
Ulf Leser
Wissensmanagement in der
Bioinformatik
Zusammenfassung: Hubs and Spokes
Mart 1
Mart 2
Mart 3
Mart 4
DWH
Quelle 1
RDBMS
Quelle 2
IMS
Quelle 3
Textfile
Jahresumsatz: 2334.5565
Pro Monat
Januar:
122.004
Februar
023.445
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
2
DWH Architektur
Data Warehouse
Manager
Analysewerkzeuge
10 0
80
60
Ost
40
We st
20
N or d
0
1.
2.
3.
4.
Qr t l . Qr t l . Qr t l . Qr t l .
Metadaten
Quelle 1
RDBMS
Quelle 2
IMS
Staging Area
Staging Area
Datenquellen
Mart 2
Cube
Basisdaten
Mart 1
Abgeleitete Sichten
Arbeitsbereich
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
3
DWH Prozesse
O
t
W
e
E
xtraction
T ransformation
L
oad
View Maintenance
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
4
Parameter von Extraktionskomponenten
• Extraktor
– Komponente zum Extrahieren der Daten aus den Quellen
• Wann liefert der Extraktor die Daten?
– Periodisch
– Synchron
– Ereignisgesteuert
• Welche Daten liefert der Extraktor?
– Kompletten Datenbestand (Snapshot)
– Alle Änderungen (Logfile)
– Nettoänderungen zu fix. Zeitpunkten (Snapshot-Diff)
• In welcher Art liefert der Extraktor die Daten
– SQL Befehle (synchron/Logfile: Replication)
– Flatfiles
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
5
Transformationen in Staging Area
• Benutzte SQL
• Effiziente mengenorientierte Berechnungen möglich
• Vergleiche über Zeilen hinaus möglich
– Schlüsseleigenschaft, Namensduplikaterkennung, ...
• Vergleiche mit Daten in Basisdatenbank möglich
– Duplikate, Plausibilität (Ausreißer), Konsistenz (Artikel-Ids)
• Typisch: Tagging von Datensätzen durch Prüf-Regeln
UPDATE sales SET price=price/MWST;
UPDATE sales SET cust_name=
(SELECT cust_name FROM customer WHERE id=cust_id);
...
UPDATE sales SET flag1=FALSE WHERE cust_name IS NULL;
...
INSERT INTO DWH
SELECT
* FROM
sales Vorlesung,
WHERE Sommersemester
f1=TRUE &2004
f2=TRUE & ... 6
Ulf Leser:
Data Warehousing,
BULK Uploads
• Für große Datenmengen einzige ausreichend
performante Schnittstelle
• Kritischer Prozess
– Load-Vorgänge blockieren i.d.R. die komplette DB
(Schreibzugriff auf komplette Tabelle)
– Konsistenz, Trigger, ICs i.d.R. deaktiviert
– Indexaktualisierung
– Update oder Insert ? (Upsert!)
• Performance von LOAD oft limitierender Faktor
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
7
Inhalt dieser Vorlesung
• Das Multidimensionale Datenmodell (MDDM)
– Grundidee
– Formale Definition der Modellelemente
– Beispiel
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
8
MDDM Grundidee
• Unterscheidung von
– Fakten (Measures) – Gemessene Werte
– Dimensionen – Beschreibung der Messwerte in
Raum, Zeit, Organisation, ...
– Klassifikationshierarchien – Dimensionen haben
hierarchische Struktur
• Metapher: Würfel (Cube) bzw. Hypercube
– Fakten: Punkte im multidimensionalen Raum
• Analyse durch Operationen auf dem Cube
– Dimensionen erhöhen/verringern
– Auswahl von Subwürfeln (Flächen, Punkten, ...)
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
9
Beispiel
• Verkäufe von Autos pro Marke, Kontinent und
Jahr gemessen in Euro
– Measures:
• Verkäufe in Euro
– Dimensionen
• Automarke
• Kontinent
• Jahr
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
10
Beispiel: Auswahl (Slicing)
Verkäufe in Asien
pro Jahr und Marke
Verkäufe von Peugeot
pro Jahr und Kontinent
Jahr
2002
Kontinent
2001
2000
Asien
Südamerika
1999
Ford
VW
Peugeot
BMW
Automarke
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
11
Dimensionen
• Eindeutige Strukturierung des Datenraums
• Hoffentlich orthogonal
– Abhängigkeiten zwischen Dimensionen bereiten an
vielen Stellen Probleme – später
• Eine Dimension hat ein Schema
– Tag, Woche, Jahr
– Landkreis, Land, Staat
– Produktgruppe, Produktklasse, Produktfamilie
• ... und Werte
– (1, 2, 3, ..., 31), (1, ... 52), (1900, ..., 2003)
– (...), (Berlin, NRW, Department-1, ...), (BRD, F, ...)
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
12
Dimension
Dimension
Jahr
Quartal
Monat
Tag
1997
I
1998
1999
II III IV
Klassifikationsstufen
Jan Feb Mar
1 ... 31
Top
2000
I
II III IV
Okt Nov Dez
1 ... 28
Klassifikationsknoten
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
13
Produkthierarchien
Aus: Geppert, ETZ Zürich, Vorlesung „Data Warehouse“
• Elemente einer Stufe können geordnet sein
– Geordnet: Zeit
– Ungeordnet: Produkte
• Elemente sind immer über Hierarchie angeordnet
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
14
Formale Definition
• Ziel
– Operationen auf einem MDDM
sind Aggregationen / Verdichtungen
– Aus dem Modell muss man
ersehen können, welche
Verdichtungen sinnvoll sind
und welche nicht
– Tools bieten dann nur die
sinnvollen Operationen an
– Optimierer können die Informationen für schnellere Anfragen
benutzen
– Mit E/R nicht erreichbar
– zu wenig Semantik
Konzern
Sparte
Region
Bereich
Unternehmen
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
Abteilung
15
Klassifikationsschema
• Definition.
Ein Klassifikationsschema K (einer Dimension D) ist ein
5-Tupel {k0, k1, ... kn}, →, M, stufe(), knoten()) mit
– Menge von Klassifikationsstufen {k0, ... kn}
– Menge M von Klassifikationsknoten
– Halbordnung „→“ auf {k0, ... kn} mit
• Größtem Element kn : ∀ki , 0≤ i≤n-1: kn ← ki
– Stufe() weist jedem Klassifikationsknoten genau eine
Klassifikationsstufe zu
– Knoten()=stufe-1() berechnet für eine Klassifikationsstufe die
Menge aller ihr zugeordneten Klassifikationsknoten
• Bemerkung
– Die Halbordnung „→“ überträgt sich natürlich auf
Klassifikationsknoten
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
16
Erläuterung Klassifikationsstufen
• Die Klassifikationsstufen sind die „Schemaelemente“ der
Dimension
• Das größte Element kn ist artifiziell – es steht für „alles“,
also die Verdichtung in einen einzelnen Wert
• Wir nennen es TOP
• Interpretation von „→“:
– Funktionale Abhängigkeit
– Aggregierbarkeit
– Tag bestimmt Monat bestimmt Jahr bestimmt TOP
• 21.12.2003 → 12.2003 → 2003 → TOP
– Produkt → Produktfamilie → Produktgruppe → TOP
• “Asus M2400N“ → Notebooks → Büroelektronik → TOP
• Beachte: Halbordnung ist immer zyklusfrei
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
17
Beispiel
• Ordnung
–
–
–
–
–
–
Tag → Monat
Monat → Quartal
Quartal → Jahr
Tag → Woche
Woche → Jahr
Alle → Top
Top
Jahr
Tatsächlich ?
Quartal
Woche
• Keine Ordnung
– Quartal ? Woche
– Monat ? Woche
• Transitivität
– Tag → Jahr
Saison
Monat
Tag
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
18
Knotenattribute
Name
Staat
...
Name
Bundesland
...
Name
Depot
Manager
Region
• Jede Klassifikationsstufe
hat eine Menge von
Attributen, die
Knotenattribute
Name
Logistics
Address
Shop
Supplier
Facilities
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
19
Erläuterung Klassifikationsknoten
• Klassifikationsknoten
– Klassifikationsknoten sind die Werte der
Schemaelemente (Stufen) einer Dimension
– Jeder Knoten ist über die Funktion stufe() genau
einer Stufe zugeordnet
• Kein Produkt darf zu zwei Produktgruppen gehören
– Die größte Stufe TOP hat nur einen Knoten – TOP
– M zerfällt also in die disjunkten Menge knoten(ki)
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
20
Beispiel
Top
Top
Jahr
Quartal
Monat
Tag
1997
I
1999
II III IV
Jan Feb Mar
1 ... 31
1998
2000
I
II III IV
Okt Nov Dez
1 ... 28
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
21
Klassifikationspfade
• Definition.
Ein Klassifikationspfad P in einem Klassifikationsschema K
ist eine Menge von Klassifikationsstufen {p0, ..., pm} mit
–
–
–
–
–
{p0, ...,pm-1} ⊆ {k0, ..., kn-1}
pm = kn
∀ pi , 1≤ i≤m: pi-1 → pi
Die Länge des Pfades ist |P|=m+1
Der Klassifikationslevel von pi in P ist i
• Bedeutung
– Ein Pfad ist damit eine voll geordnete Teilmenge von {k1, ..., kn}
– Jeder Pfad beinhaltet das größte Element TOP
– Zweck: Verdichtung ist nur entlang von Klassifikationspfaden
sinnvoll
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
22
Beispielpfade
Klassifikationsschema
Pfad 1
Pfad 2
Top
Top
Top
Jahr
Jahr
Jahr
Quartal
Quartal
Woche
Woche
Monat
Monat
Tag
Tag
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
Tag
23
Klassifikationsstufen und Pfade
Level 4
Top
Level 3
Top
Level 3
Jahr
Level 2
Jahr
Level 1
Woche
Level 0
Tag
• Der Klassifikationslevel
einer Stufe ist nur
eindeutig in einem Pfad Level 2
•Der Level des größten
Elements TOP ist nicht Level 1
konstant
Level 0
Quartal
Monat
Tag
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
24
Klassifikationshierarchie
• Definition.
– Die Klassifikationshierarchie KP zu einem Klassifikationsschema
K und Pfad P ist der Baum mit Knoten N und Kanten E wie folgt:
N=
U knoten( p ) ⊆ M
i
pi ∈P


n1 , n2 ∈ N ∧ n1 → n2 ∧
E = (n1 , n2 )

j
:
n
knoten
(
p
)
n
knoten
(
p
)
∃
∈
∧
∈

1
2
j
j +1 

• Beachte
– Klassifikationshierarchie = Knotenhierarchie in einem Pfad
– Jede Klassifikationshierarchie ist balanciert: Alle Pfade WurzelBlatt haben die selbe Länge |P|
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
25
Dimension
• Definition.
Eine Dimension D=(K, {P1,...,Pj}) besteht aus
– Einem Klassifikationsschema K
– Einer Menge von Pfaden Pi aus K
– Jedes k∈K muss in mindestens einem Pfad in D enthalten sein
• Bemerkungen
– Für jedes k∈K gibt es mindestens einen Pfad, nämlich k→TOP
– D muss nicht alle Pfade enthalten, die es in K gibt
• Designentscheidung
• Schreibweise:
– D.k bezeichnet die Klassifikationsstufe k aus D
– Jedes D.k kann in mehreren Pfaden vorkommen
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
26
Granularität
• Definition.
Gegeben eine Menge U von n Dimensionen D1,..., Dn.
Eine Granularität G über U ist eine Menge {D1.kk1,...
,Dn.kkn} für die gilt
– kki ist eine Klassifikationsstufe in Di
– Es gibt keine funktionalen Abhängigkeiten zwischen den
Klassifikationsstufen D1.kk1,..., Dn.kkn
• Bemerkungen
– Beispiel: Nicht gleichzeitig Dimensionen Zeit und „Fiskalisches
Jahr“ in einer Granularität betrachten
– Mit einer Granularität legt man fest, in welcher Detailstufe
Fakten in den einzelnen Dimensionen beschrieben werden
– Abkürzung: Lässt man in U eine Dimension Di weg, mein dies
implizit Di.TOP
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
27
Halbordnung auf Granularitäten
• Definition.
Auf der Menge aller Granularitäten zu einer Menge U
von Dimensionen ist eine Halbordnung „<“ wie folgt
definiert
– Sei G1={D11.kk11,... ,Dn1.kkn1} und G2={D12.kk12,... ,Dn2.kkn2}
– Ordne die Dimensionen in G1‘ und G2‘ beliebig, aber gleich
– Es gilt G1<G2 genau dann wenn
• ∀i: Di1.kki1 →Di2 .k2i2 oder Di1.kki1=Di2 .kki2
• Benutzung
– Beschreibung der Transformation von Granularitäten
– Anfrageoptimierung: Wiederverwendung von Aggregaten
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
28
Beispiel
Bereich
Region
Zeit
TOP
Top
Top
Konzern
Staat
Jahr
Sparte
Bundesland
Monat
Abteilung
Shop
Tag
(B.Sparte, R.Shop, Z.Tag)
< (B.Sparte, R.Shop, Z.Monat)
< (B.Sparte, R.Top, Z.Monat)
< (B.Top, R.Top, Z.Top)
(B.Sparte, R.Staat, Z.Tag)
? (B.Konzern, R.Shop, Z.Tag)
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
29
Würfelschema
• Definition.
Ein Würfelschema WS=(G,F) besteht aus
– Einer Granularität G
– Einer Menge F von unterschiedlichen Fakten Fi
• Definition.
Ein Würfel W ist eine Instanz eines Würfelschema (G,F)
W = dom(G ) × dom( F )
= knoten( D1.k k1 ) × ...× knoten( Dn .k kn ) × dom( F1) × dom( F j )
• Bemerkung
– Die Werte dom(G) geben die Koordinaten der Werte dom(F) an
– Verhältnis Würfelschema zu Würfel ist wie Relationenschema zu
Relation
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
30
Kein Würfelschema
• Autoverkäufe pro Zeit (Monat, Jahr) ,
Händler und Region (Kreis, Land)
• Drei Dimensionen
– Monat → Jahr
– Händler
– Kreis → Land
• Aber: EU Recht !
–Händler → Land
Jahr
Land
Monat
Kreis
Jahr
Land
Monat
Kreis
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
Händler
Händler
31
Kein Würfelschema
• Autoverkäufe pro Zeit (Monat, Jahr) ,
Händler und Region (Kreis, Land)
• Drei Dimensionen
Jahr
– Monat → Jahr
– Händler
Monat
– Kreis → Land
Modellierung
ist
anwendungsabhängig
• Aber: EU Recht !
–Händler → Land
Land
Kreis
Jahr
Land
Monat
Kreis
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
Händler
Händler
32
Semantik von Kanten
• Die Hierarchie von Klassifikationsstufen wird
durch funktionale Abhängigkeiten bestimmt
• Das beinhaltet zunächst keine Bestimmung der
Semantik der Kanten
Bereich
Komm.Elektronik
Land
Brandenburg
Top
Güter
Hauptabt.
Mobilfunk
Kreis
Potsdam
P.gruppe
Kleidung
Abteilung
Dualband
Stadt
Golm
Produkt
Hose
Part-Of
Topologisch
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
IS-A
33
Ein längeres Beispiel
• Wir bauen ein DWH zur Verwaltung von
Lagerbeständen
• Fakten
– Bestand und Delta von Artikeln
• Dimensionen
– Zeit
• Klassifikationsstufen: Monat, Quartal, Woche, Jahr
– Ort
• Klassifikationsstufen: Region, Land
– Produkt
• Klassifikationsstufen: Artikel, Artikelgruppe, Bereich
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
34
Klassifikationsschema
• Halbordnung
–
–
–
–
–
–
–
–
–
Top ← Jahr
Jahr ← Quartal
Quartal ← Monat
Jahr ← Woche
Top ← Land
Land ← Region
Top ← Bereich
Bereich ← Artikelgruppe
Artikelgruppe ← Artikel
¾ Struktur der Dimensionen
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
35
Pfade
•
•
•
•
P1:
P2:
P3:
P4:
Top
Top
Top
Top
←
←
←
←
Jahr ← Quartal ← Monat
Jahr ← Woche
Land ← Region
Bereich ← Artikelgruppe ← Artikel
¾ Entlang der Pfade sind Verdichtungen im Modell
sinnvoll
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
36
Klassifikationsknoten
•
Jahr
–
•
Quartal
–
•
Kleidung, Nahrung, Elektronik, ...
Artikelgruppe
–
•
Bayern, Berlin, ..., Departament1, Departament2, ...
Bereich
–
•
Deutschland, Frankreich, Großbritannien, ...
Region
–
•
1-3 (pro Quartal I), 4-6 (pro Quartal II), ...
Land
–
•
1-52 (pro Jahr)
Monate
–
•
I, II, III, IV (pro Jahr)
Woche
–
•
1997, 1998, 1999
Oberbekleidung, Unterbekleidung, Spirituosen, Kindernahrung, Kleingeräte, TV/Video, ...
Artikel
–
...
¾ Alle möglichen Ausprägungen der Klassifikationsstufen
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
37
Klassifikationshierarchien 1
Top
• Klassifikationshierarchie zu P1
1997
1998
1999
I II III IV
Jan Feb Mar ... Okt Nov Dez
• Klassifikationshierarchie zu P2
Top
1997
1
...
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
1998
52
...
1999
1
...
38
52
Klassifikationshierarchien 2
• Klassifikationshierarchie P3
Top
BRD
F
GB
Bayern ... Bremen ... Wales ... N-Irland
• Klassifikationshierarchie P4
Nahrung
Milchwaren
...
Top
Kleidung
Spirituosen
...
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
Kleingeräte
Elektronik
...
TV/Video
39
Dimensionen
• Dimension ZEIT
– ({Monat, Quartal, Woche, Jahr}, {P1, P2})
• Dimension ORT
– ({Region, Land}, {P3})
• Dimension PRODUKT
– ({Artikel, Artikelgruppe, Bereich}, {P4})
¾ Dimensionen umfassen Stufen und Pfade
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
40
Granularität, Würfel
• Mögliche Granularitäten
– G1 = (Zeit.Woche, Ort.Land, Produkt.Artikel)
– G2 = (Zeit.Jahr, Ort.Gebiet, Produkt.TOP)
– Halbordnung:
•
•
•
•
•
(Zeit.Woche, Ort.Gebiet, Produkt.Artikel)
< (Zeit.Jahr, Ort.Gebiet, Produkt.Bereich)
< (Zeit.Jahr, Ort.Top, Produkt.Bereich)
< (Zeit.ZOP, Ort.Top, Produkt.Top)
=?
• Würfelschema
– Granularität plus Menge von Fakten (F1=Bestand, F2=Delta)
¾ Würfel: Instanz des Würfelschemas
¾ Operationen auf Würfeln verändern die Granularität
¾ Ziel: Nur sinnvolle Operationen zulassen
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
41
Zusammenfassung
Dimension
Jahr
Quartal
Monat
Tag
1997
I
1998
1999
II III IV
Klassifikationsstufen
Jan Feb Mar
1 ... 31
Top
2000
I
II III IV
Okt Nov Dez
1 ... 28
Klassifikationsknoten
Ulf Leser: Data Warehousing, Vorlesung, Sommersemester 2004
42