Neuere Konzepte – Teil II Datenbankentwurf

Werbung
2
Datenbankentwurf: Schritte
Informationssysteme:
Neuere Konzepte – Teil II
„ Entwurfsschritte
z Anforderungsanalyse
z konzeptioneller DB-Entwurf
Î
z
Î
z
logisches Schema
(in konkretem Datenmodell)
physischer DB-Entwurf
Î
Kapitel 2: Data-Warehouse-Entwurf
konzeptionelles Schema
(unabhängig vom Zieldatendatenmodell)
logischer DB-Entwurf
internes/physisches Schema
(in konkretem Datenbanksystem)
„ iterativer Entwurfsprozess
„ konzeptueller und logischer DB-Entwurf nicht immer
leicht zu trennen
Folien teilweise übernommen von Matthias Gimbel
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
3
Datenbankentwurf: Vergleich
Relationaler
DB-Entwurf
Informationssysteme:
Neuere Konzepte – Teil II
Multidimensionaler
DB-Entwurf
konzeptuelles
Schema
E/R-Modellierung,
UML
ME/R, mUML, …
logisches Schema
Relationen mit
Attributen
Datenwürfel mit Summenattributen:
Fakten und Kennzahlen
internes/physisches
Schema
Speicherorganisation:
Indexstrukturen,
Partitionierung, …
Dimensionshierarchien
mit Kategorienattributen
SS 2005
Relationale
Speicherorganisation (ROLAP)
Multidimensionale
Speicherorganisation (MOLAP)
Kapitel 2: Data-Warehouse-Entwurf
- Konzeptueller Datenbankentwurf -
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
5
6
Datenmodell für Data Warehouses
Datenmodell für Data Warehouses
Woran ist ein Analyst interessiert?
„ Datenmodell muss zwei Arten von
„ an Kennzahlen
z Umsatz, Gewinn, Menge, Kilometer
„ gruppiert nach Dimensionen
z Produkt: Produktkategorie, Produktklasse,
Produktgruppe, Produktabteilung
z Region: Filiale, Gemeinde, Landkreis, Bundesland,
Staat
z Zeit: Tag, Woche, Monat, Quartal, Jahr
z Auftraggeber/Kunde: Alter, Geschlecht, Beruf,
Einkommen, …
z …
z ... und allen sinnvollen Kombinationen
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
Informationen unterscheiden:
Quantifizierende Informationen
(Kennzahlen)
z Qualifizierende Informationen:
(Dimensionen)
z
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
1
7
8
Quantifizierende Informationen
Konzeptueller DB-Entwurf
Quantifizierende Informationen sind oft numerisch
und bestehen aus:
„ Fakten („Basiskennzahlen“)
z z. B.: Einnahmen aus einer Dienstleistung
„ Kennzahlen („abgeleitete Kennzahlen“)
z Berechnungsvorschrift über existierende Fakten
„ Erweiterung bestehender Entwurfstechniken
„
„
„
„
„
„
„
„
an Anforderungen durch Multidimensionalität
ME/R
multidimensionales E/R
z mUML
multidimensionales UML
z
Zählung: count()
Summierung: sum()
Mittelwertbildung: avg()
Minimum: min()
Maximum: max()
Varianz
Standardabweichung
…
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
9
10
ME/R-Modellierung
ME/R-Modellierung: Beispiel
„ Erweiterung des E/R-Modells um
multidimensionale Konstrukte:
z
Fakt
Fahrzeug
Jahr
Spedition
Quartal
Fakt
Kennzahlen
Landkreis
z
Dimensionsebene
Ebene
Bundesland
ProduktKategorie
Klassifikationsbeziehung
z Faktbeziehung
z
ProduktKlasse
ProduktGruppe
ProduktAbteilung
Staat
Aus E/R-Notation
übernommen
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Monat
Transport
Einnahmen
Ausgaben
11
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
12
ME/R-Modellierung: Beispiel
Fahrzeug
ME/R-Modellierung: Beispiel
Jahr
Fahrzeug
Quartal
Spedition
Monat
Landkreis
Fakten und
Kennzahlen
Jahr
Dimensionen
Spedition
Landkreis
Transport
Quartal
Einnahmen
Ausgaben
Bundesland
Bundesland
ProduktKategorie
ProduktKlasse
ProduktGruppe
ProduktAbteilung
ProduktKategorie
Staat
SS 2005
Monat
Transport
Einnahmen
Ausgaben
ProduktKlasse
ProduktGruppe
ProduktAbteilung
Staat
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
2
13
14
ME/R-Modellierung: Beispiel
mUML-Modellierung
Fahrzeug
„ Erweiterung des UML-Klassendiagramms um
Jahr
Dimensionen
bestehen aus
Ebenen
Spedition
Landkreis
Ebenen bilden eine
Klassifikationshierarchie
Quartal
Monat
Transport
nicht erlaubt!
multidimensionale Konstrukte durch Steoreotypen:
ProduktKategorie
Fakt
z
Dimensionsebene
z
Klassifikationsbeziehung
Faktbeziehung
«Dimensional-Class»
Dimensionsebene
Einnahmen
Ausgaben
Bundesland
Staat
«Fact-Class»
Fakt
z
ProduktKlasse
ProduktGruppe
z
ProduktAbteilung
«RollUp»
«Dimension»
Dimensionen sind
orthogonal
(voneinander unabhängig)
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
15
16
mUML-Modellierung: Beispiel
Qualifizierende Informationen
„ Dimensionen
Dimensionen sind orthogonal
(voneinander unabhängig)
z Dimensionen bestehen aus
Dimensionsebenen
z Dimensionsebenen bilden eine
Klassifikationshierarchie
z
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
17
18
Dimension: Ebenen
topD
Bundesländer
parallele
Klassifikationshierarchien
Dimension: Zeit
kommt in fast jeder Anfrage vor:
hat linearen Charakter
z
topD
z
z
DE1
NUTS-I
„
„
topD
Baden-Württemberg
Jahr
„
z
Regierungsbez.
NUTS-II
„
Karlsruhe
Landkreise
NUTS-III
Wahlkreis #xyz
Gemeinde
verschiedene Klassifikationspfade denkbar
Woche
2004-KW29
DE122
Karlsruhe, Stadtkreis
Monat
Mai 2004
Gemeinden
immer montags
immer im 4. Quartal
Quartal
2004-II
Wahlkreis
1., 2., 3., …
Januar, Februar, März, …
hat Wiederholungscharakter
z
2004
DE12
Vergleich Quartal mit Vorjahresquartal
Î muss von jedem Analysesystem unterstützt
werden
Karlsruhe
Tag
11. Mai 2004
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
3
19
20
Funktionale Abhängigkeiten
Dimension: Kategorieattribute
„ Funktionale Abhängigkeit
Funktionale Abhängigkeit
topD
= functional dependency (FD)
Zwischen zwei Attributen A und B existiert
eine funktionale Abhängigkeit (AÆB) genau
dann, wenn für jedes a aus A genau ein b
aus B existiert.
z Für Attribute A, B, C:
z
„
„
MinisterpräsidentIn
Bevölkerungsdichte
ca3
Bundesland
da3,2
da3,3
da3,4
Arbeitslosenzahl
Arbeitslosenquote
Regierungsbezirke
Man schreibt ABÆC, wenn für jedes Paar (a,b)
mit a aus A und b aus B genau ein c aus C
existiert.
Man schreibt AÆBC, wenn AÆB und AÆC gilt.
ca2
da2,1
Fläche
Gemeinde
pa
da1,1
da1,2
Einwohner
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
da3,1
Kurort
pa
Primärattribut
cai
Klassifikationsattribut (Ebene i)
dai,j
dimensionales Attribut (Ebene i)
top
generisches Top-Element
da1,3
# Kneipen
Heiko Schepperle - Informationssysteme: Neuere KonzepteD
Teil II
SS 2005
22
Relationale Abbildung
Informationssysteme:
Neuere Konzepte – Teil II
„ Wie lassen sich Kennzahlen und
Dimensionen gut in einem relationalen
Schema abbilden?
möglichst gut verständlich
auch relationales Schema sollte
Zusammenhänge (z. B. Fakt- und
Klassifikationsbeziehungen) abbilden
z möglichst performante Anfragebearbeitung
z möglichst redundanzfrei
z
z
Kapitel 2: Data-Warehouse-Entwurf
- Logischer Datenbankentwurf -
SS 2005
23
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
24
Star-Schema
Dimensionen
sternförmig
um Faktentabelle
Faktentabelle
Dimensionstabelle1
Dimensionstabelle2
PK
PK
pa_dim1_id
„ Faktentabelle = fact table
pa_dim2_id
„ enthält Analysegegenstand, eigentliche
ca2_attr
dim2*_attr
ca3_attr
dim3*_attr
ca4_attr
ca2_attr
dim2*_attr
ca3_attr
dim3*_attr
ca4_attr
Geschäftsdaten
Faktentabelle
PK
PK
PK
PK
PK
fakt1
fakt2
fakt3
Dimensionstabelle5
PK
pa_dim5_id
„ Tupel besteht aus
z Zeigern auf Dimensionstabellen (Fremdschlüssel), die
den Kontext des Tupels eindeutig bestimmen
z den eigentlichen Kennzahlen
pa_dim1_id
pa_dim2_id
pa_dim3_id
pa_dim4_id
pa_dim5_id
ca2_attr
dim2*_attr
ca3_attr
dim3*_attr
ca4_attr
Dimensionstabelle3
PK
pa_dim3_id
ca2_attr
dim2*_attr
ca3_attr
dim3*_attr
ca4_attr
„ Schlüssel der Faktentabelle
=Gesamtheit der Dimensionszeiger
Dimensionstabelle4
PK
1 Tabelle
pro Dimension
SS 2005
pa_dim4_id
ca2_attr
dim2*_attr
ca3_attr
dim3*_attr
ca4_attr
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
1 Tabelle
für alle Fakten
„ Faktentabelle kann viele Millionen Tupel enthalten
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
4
25
26
Dimensionstabelle
Star-Schema: Beispiel
„ Dimensionstabelle = dimensional table
Fahrzeug
„ pro Dimension existiert eine Dimensionstabelle
PK
PK
Fahrzeug-Modell
Spedition-ID
Speditionsname
Landkreis-ID
Landkreis-Beschreibung
Landkreis-Einwohner
Regierungsbezirk-ID
Regierungsbezirk-Beschreibung
Regierungsbezirk-Fläche
Bundesland-ID
Bundesland-Beschreibung
Bundesland-Arbeitslosenquote
Staat-ID
Staat-Beschreibung
„ Dimensionstabelle enthält
z einen eindeutigen Schlüssel (Primärattribut), z.B.
Produktnummer, Datums-ID, ...
z weitere (beschreibende) Attribute der Dimension
(Klassifikations- und dimensionale Attribute)
„ Dimensionstabelle deutlich kleiner als Faktentabelle
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Zeit
Fahrzeug-ID
Monats-ID
Produkt-Kategorie-ID
Fahrzeug-ID
Produkt
Einnahmen
Ausgaben
PK
Produkt-Kategorie-ID
Produkt-Kategorie
Produkt-Klasse-ID
Produkt-Klasse
Produkt-Gruppe-ID
Produkt-Gruppe
Produkt-Abteilung-ID
Produkt-Abteilung
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
27
Monats-Name
Quartals-ID
Quartals-Name
Jahr-ID
Jahr-Name
Faktentabelle
PK
PK
PK
Monats-ID
28
Star-Schema
Snowflake-Schema
„ Eigenschaften
sehr übersichtlich
z einfach erweiterbar
z recht performante Anfragebearbeitung
z
Satellitentabelle1_3
Satellitentabelle1_2
Satellitentabelle1
Satellitentabelle2
Satellitentabelle2_2
Satellitentabelle2_3
PK
ca3_dim1_id
PK
PK
pa_dim1_id
PK
pa_dim2_id
pa_dim2_id
PK
PK
dim31_attr
dim32_attr
dim33_attr
dim34_attr
dim35_attr
FK
FK
ca2_dim1_id
dim11_attr
FK
ca1_attr
ca2_dim2_id
dim1*_attr
dim11_attr
dim12_attr
dim13_attr
dim14_attr
FK
ca2_dim1_id
ca3_dim1_id
dim21_attr
dim22_attr
Dimensionen
schneeflockenförmig
um Faktentabelle
„ Probleme
Satellitentabelle3
PK Satellitentabelle3_2
pa_dim3_id
PK Satellitentabelle3_3
pa_dim3_id
FK ca2_dim3_id
PK pa_dim3_id
dim1*_attr
FK ca2_dim3_id
dim1*_attr
FK ca2_dim3_id
dim1*_attr
Satellitentabelle4
PK
pa_dim4_id
dim11_attr
dim12_attr
dim13_attr
dim14_attr
dim15_attr
1 Tabelle
für alle Fakten
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
29
pa_dim5_id
FK ca2_dim_id
dim11_attr
dim21_attr
dim12_attr
dim22_attr
dim13_attr
1 Tabelle pro
Dimensionsebene
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
dim31_attr
dim32_attr
Dimensionen
normalisiert
pa_dim1_id
pa_dim2_id
pa_dim3_id
pa_dim4_id
pa_dim5_id
fakt1
fakt2
fakt3
Satellitentabelle5
PK
ca2_dim2_id
Faktentabelle
PK
PK
PK
PK
PK
Satellitentabelle5_2
PK pa_dim5_id
denormalisierte Dimensionstabellen
eventuell immer noch groß und redundant
z Dimensionsklassifikationen nicht explizit
modelliert
z
ca1_dim2_id
ca3_dim1_id
dim21_attr
dim22_attr
30
Snowflake-Dimension: Beispiel
Fahrzeug
Spedition
PK
Fahrzeug-ID
PK
Spedition-ID
FK1
Fahrzeug-Modell
Spedition-ID
FK1
Speditionsname
Landkreis-ID
Regierungsbezirk
Landkreis
PK
Landkreis-ID
PK
Regierungsbezirk-ID
Landkreis-Beschreibung
Landkreis-Einwohner
Regierungsbezirk-ID
FK1
Regierungsbezirk-Fläche
Bundesland-ID
FK1
Snowflake-Schema
„ Warum muss jetzt alles ID heißen?
z Eindeutigkeit der Referenzkette in der
Klassifkationshierarchie:
„
Bundesland
PK
Bundesland-ID
FK1
Bundesland-Arbeitslosenquote
Staat-ID
Staat
PK
„
Staat-ID
Staat-Beschreibung
Eine Monats-ID aus der Faktentabelle gehört zu
einem bestimmten Quartal in einem bestimmten Jahr
„2. Quartal“ reicht dafür nicht, weil das Jahr nicht mehr
herausgefunden werden kann
Îgegebenfalls sind zu den IDs in den
Satellitentabellen noch Beschreibungen zu
ergänzen (Speditionsname, LandkreisBeschreibung, …)
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
5
31
32
Snowflake-Schema
Star- vs. Snowflake-Schema
„ Probleme
„ Welche Variante ist besser?
weniger übersichtlich
z weniger performante Anfragebearbeitung
Î Welches
Schema geeignet ist, hängt vom
Anwendungsprofil ab!
Î Dennoch wird sehr häufig ein Star-Schema
oder ein leicht modifiziertes Star-Schema
verwendet.
z
„ Eigenschaften
z
z
normalisierte Dimensionstabellen
Dimensionsklassifikationen explizit modelliert
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
34
Speicherorganisation
Informationssysteme:
Neuere Konzepte – Teil II
„ ROLAP
relationale Speicherorganisation
„ MOLAP
multidimensionale Speicherorganisation
„ HOLAP
hybride Speicherorganisation
Kapitel 2: Data-Warehouse-Entwurf
- Physischer Datenbankentwurf -
SS 2005
35
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
36
ROLAP
MOLAP
„ ROLAP = Relational OLAP
„ MOLAP = Multidimensional OLAP
„ relationale Speicherung des
„ multidimensionale Speicherung des
multidimensionalen Datenmodells
„ Speicherung der aggregierten Daten in
Relationen
„ geringere Performanz
„ „unbegrenzt“ skalierbar
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
multidimensionalen Datenmodells
„ Speicherung der aggregierten Daten in
speziellen multidimensionalen
Datenstrukturen
„ hohe Performanz
„ begrenzte Skalierbarkeit
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
6
37
38
Multidimensionale Speicherung
Multidimensionale Speicherung
„ Würfel („Hypercube“)
„ Array-Speicherung multidimensionaler Daten
„ Dimensionen:
ÎLinearisierung
z
Produkt, Ort, Zeit
„ Dimensionen D1, D2, D3, …, Dm
„ Punkt (x1,x2,x3,…,xn)
Tierfutter
Öle und Fette
Molkereiprodukte
Obst und Gemüse
Fleisch
Fisch
Getränke
Produkt
Ort
2003-Oktober
2003-November
2003-Dezember
2004-Januar
2004-Februar
2004-März
2004-April
Zeit
39
i −1
i =1
j =1
„ Beispiel: n=3, |D1|=3, |D2|=4, |D3|=2; x=(2,3,1)
z = 1 + ( x1 − 1) + ( x 2 − 1) D1 + ( x3 − 1) D1 D2
z = 1 + ( 2 − 1) + (3 − 1) * 3 + (1 − 1) * 3 * 4
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
n
z = 1 + ∑ (( xi − 1)∏ D j )
DE1-BW
DE117-Heilbronn-Stadt
DE122-Karlsruhe-Stadt
DE123-Karlsruhe-Land
DE124-Rastatt
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
40
Multidimensionale Speicherung
ROLAP vs. MOLAP
„ Probleme
ROLAP
Reihenfolge der Dimensionen spielt eine Rolle
Nachbarschaftsbeziehung geht verloren
z bei dünn besetztem Würfel hoher
Speicherbedarf
z
Speicherung
z
„
„
„
„
dicht besetzt (dense) bei hohem Füllgrad
dünn besetzt (sparse) bei niedrigem Füllgrad
Füllgrad = Anzahl der nicht leeren Zellen /
Anzahl aller Zellen
Eine Zelle mit dem Wert „0“ ist nicht leer!
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
41
MOLAP
relationales OLAP
multidimensionales OLAP
relationale
Speicherstruktur
(Tabellen, Tupel)
spezielle multidimensionale
Speicherstruktur (Arrays)
Speicherzugriff über Schlüssel,
über Indizes, …
über Berechnungsvorschrift
Performanz
mittel
hoch
Skalierbarkeit
„unbegrenzt“
begrenzt
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
42
HOLAP
Zwei-Ebenen-Datenstruktur
„ Hybrides OLAP
„ Unterscheidung in dünn- (sparse) und dichtbesetzte (dense)
„ Kombination von ROLAP und MOLAP
„ speichere Relation für dünn besetzte Dimensionen mit Zeiger
„ Problem
MOLAP gut für dicht besetzte Würfel
(leere Zellen belegen unnötig Speicher)
z ROLAP gut für dünn besetzte Würfel
(jedes Tupel speichert Schlüsselattribute)
Î Zwei-Ebenen-Datenstruktur
z
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
Dimensionen
auf einen Block
„ Block ist Würfel aus dicht besetzten Dimensionen
„ falls alle Dimensionen dünn besetzt sind und relational
gespeichert werden:
Î Block besteht aus einer Zelle
Î äquivalent zu ROLAP
„ falls alle Dimensionen dicht besetzt sind und in einem Block
gespeichert werden:
Î Relation ist leer bzw. enthält Zeiger auf genau einen Block
Î äquivalent zu MOLAP
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
7
43
Weitere Elemente
Informationssysteme:
Neuere Konzepte – Teil II
„ Es existieren weitere Elemente des physische
Datenbankentwurfs
Indexstrukturen
Materialisierung
z Partitionierung
z
z
Kapitel 2: Data-Warehouse-Entwurf
- Indexstrukturen -
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
45
46
Indexstrukturen
Indexstrukturen
„ Wie werden die gewünschten Tupel einer
„ Aufgabe einer Indexstruktur
Tabelle gefunden?
z
lineare Suche?
Î linearer Aufwand
z Binärsuche?
Î logarithmischer Such-Aufwand, aber teure
Sortierung nötig
z geht‘s besser?
Î durch Einsatz von Indexstrukturen(=Indizes)
z
ƒ EMQ=Exact Match Query (assoziativer/wertbasierter
Zugriff)
„
47
mehrere Tupel über Wertebereichen
ƒ RQ = Range Query (Assoziativer Zugriff und
sequentielles Lesen)
ƒ Beispiel: WHERE Jahrgang = 1998
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
effizienter, wertbasierter Zugriff auf
„ einzelne Tupel
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
48
Indexstrukturen
Varianten …
„ Ziel:
z Minimierung des zu übertragenden Datenvolumens
(Seiten)
„ Lineare Strukturen
„
„
„
z
Minimierung der wahlfreien Zugriffe
„
„
SS 2005
Festplattenzugriff hat den größten Einfluss auf
Antwortzeit
auf Festplatte erfolgt Zugriff in Blöcken
Indexstrukturen arbeiten auf Seiten (4kB – 8kB)
(hier kann 1:1-Zuordnung zu Blöcken angenommen
werden)
wahlfreier Zugriff
Zugriff auf Blöcke unabhängig von der Reihenfolge
der Speicherung
sequentieller Zugriff
Zugriff auf Blöcke in der Reihenfolge der Speicherung
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
z
Listen
„
„
z
einfach-verkettet
doppelt-verkettet
Arrays
„ Hashtabellen
„ Bäume
z
z
SS 2005
B-Baum
B*-Baum
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
8
49
50
… im Vergleich
Listen
Array
Hashtable
Baum
Einfügen
Löschen
++
-+
+
assoziativer
Zugriff
-+
++
+
Binärbaum
Indexzugriff
++
-
520
sequentielles
Lesen
+
++
-+(+)
740
356
231
409
622
834
„ Einfügen/Löschen sowie sequentielles Lesen
123
benötigt meist zusätzlich noch assoziativen Zugriff
zum Auffinden der korrekten Position
Î bei Listen problematisch
Î meist Bäume als Zugriffsstruktur
51
386
469
587
701
822
910
65 143 241 278 361 399 420 501534 597679 712 780 831 878 923
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
277
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
52
Binärbaum: Eigenschaften
B-Baum
50 50 White
„ Probleme:
z Sehr viele Navigationen bei Direktzugriff
z Aufteilung auf Seiten unklar
z Balancierung?
30 30 Brown •
40 40 Black
„ Idee: Mehrwegbaum:
z Anzahl der Elemente pro Knoten > 1
z Knotenelemente in Sortierreihenfolge (wegen
sequentieller Verarbeitung)
z garantierter Füllgrad (Splitten und Vereinigen von
Knoten)
10 10 Yellow
53
707070
•
80 80 Blue
•
• 20 20 Red
Red
•
• 90 90 Yellow
60 60 Green
•
•
Schlüssel Datensatz
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
•
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
54
B-Baum
B-Baum: Einfügen
„ Jeder innere Knoten hat n+1 Söhne mit k ≤ n < 2k,
„ Suche nach dem Schlüssel des neuen Datensatzes
Ausnahme: Wurzel (1 ≤ n < 2k)
„ Jeder Knoten ist mit n sortiert angeordneten
Schlüsseln belegt
„ Seien S1,...,Sn die Schlüssel, so gilt:
z
z
z
Z0 weist auf den Unterbaum mit Schlüsseln < S1
Zj (für j=1...n-1) weisen auf Unterbäume, deren
Schlüssel echt zwischen Sj und Sj+1 liegen.
Zn weist auf den Unterbaum, dessen Schlüssel größer
als Sn sind.
„ Jeder Weg von der Wurzel zu einem Blatt hat die
(notfalls bis zum Blatt).
„ Falls gefunden: Einfügen des neuen Datensatzes in
den entsprechenden Knoten des B-Baums (bei nicht
eindeutigem Schlüssel).
„ Falls nicht gefunden: Einfügen des neuen
Datensatzes in das bei der Suche erreichte Blatt.
„ Bei Überlauf eines Knotens wird der Knoten
gespalten, d.h. die Einträge des Knotens werden auf
zwei Knoten verteilt.
gleiche Länge (= Höhe des Baumes)
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
9
55
56
B-Baum: Überlauf/Unterlauf
B-Baum: Eigenschaften
„ Der Datensatz, der in der Mitte des übergelaufenen
„ Probleme
z Höhe = Anzahl Zugriffe = logs(n)
z Verzweigungsgrad s = Knotengröße / (Schlüssel- +
Datensatzgröße)
z s und damit Baumhöhe abhängig von Datensatzlänge
z immer noch Ineffizienz beim sequentiellen Lesen
Knotens liegt, wird zum Vaterknoten propagiert.
Propagation zum
Vaterknoten
S1 < S2< … < Sk
< Sk+1 < S k+2 < … < S2k+1
Alter Knoten
Neuer Knoten
„ Lösung
z “hohler Baum”, Daten nur an den Blattknoten
z Verkettung der Blattknoten
„ Bei Unterlauf (n<k) werden zuerst Elemente aus
Nachbarknoten verschoben
„ Falls dort ebenfalls Unterlauf Î Knoten wird mit
Nachbarknoten verschmolzen
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
57
58
B*-Baum
Indexarten
„ Primärindex
Wegweiser
25
45
65
• 10 10 Yellow 20 20 Red •
• 80 80 Blue 90 90 Yellow •
• 30 30 „brown“ 40 40 „black“ •
• 70 70
„red“
•
• 50 50 „white“ 60 60 „green“ •
Schlüssel
Index über eindeutiges Attribut (ID=Schlüsselattribut)
der Datenkollektion
„ Sekundärindex
Index über nicht eindeutiges Attribut
(ID≠Schlüsselattribut) der Datenkollektion
„ Clusterindex
Datenkollektion ist physisch in der Reihenfolge der
Indexwerte angeordnet
Î geclusterte Primärindizes
Î geclusterte Sekundärindizes
75
Datensatz
doppeltverkette
Liste
„ Regeln zum Über-/Unterlauf wie beim B-Baum
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
59
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
60
Was es sonst noch gibt
Indizes im Data Warehouse
„ Mehrdimensionale Datenstrukturen
„ Welche Indexstrukturen unterstützen Data-
z
Anwendungsfelder:
„
„
„
z
Beispiele:
„
„
„
„
SS 2005
Geographische Datenbanken (GIS)
CAD-Datenbanken (EDM/PDM)
Data Warehouses
Warehouse-Anfragen besonders gut?
„ Problem
z
z
UB-Baum: space filling curve + B-Baum
Bitmap-Index
R*-Baum: Bounding Rectangle in inneren Knoten
k-d-B-Baum: achsenparallele Splits
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
Filterung auf der Faktentabelle
„ Anforderung
SS 2005
Effiziente Verknüpfung von Einschränkungen
der Faktentabelle auf disjunkten
Attributmengen
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
10
61
62
Indizes im Data Warehouse
Multidimensionale Indizes
„ Variante 1
„ Immer Kompromiss zwischen
1 B-Baum auf einer Dimension
z Restliche Einschränkungen werden zu normalen
Selektionsbedingungen
Î Viel zu viele Tupel gelesen!
„ Variante 2
z 1 B-Baum für jede Dimension
z für jede Dimension IDs der selektierten Tupel bestimmen
z Schnittmenge bilden
z hoher Wartungsaufwand (pro Insert bis zu 50 Indizes
anzupassen)
„ Variante 3
z Multidimensionale Indizes
z
Füllgrad
Überlappungsfreiheit
z Balancierung des Baumes
z Clusterung benachbarter Daten
z
z
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
63
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
64
Bitmap-Index
Bitmap-Index
„ Bitmap-Index besteht aus einer Menge von Bitvektoren
„ Struktur
Nr.
1
2
3
4
5
1 Bitmap-Index pro Dimension
z 1 Bitvektor pro Attributwert
z Länge des Bitvektors = #Tupel der Faktentabelle
z Eintrag 1 in Position i eines Bitvektors Î Tupel i hat
entsprechenden Wert
z Eintrag 0 in Position i eines Bitvektors Î Tupel i hat nicht
entsprechenden Wert
„ Verwendung
z zuerst innerhalb der Dimension ODER-Verknüpfung aller
passenden Bitvektoren
z dann UND-Verknüpfung der resultierenden Bitvektoren
verschiedener Dimensionen
z
„ alle Lebensmittel-Transporte (Produkt-ID=3)
z
65
Produkt-ID
1
2
3
4
5
6
7
1
0
0
0
0
1
0
0
2
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
4
0
0
0
1
0
0
0
5…
0
0
1
0
0
0
0
Monats-ID
2004-Jan
2004-Feb
2004-Mar
2004-Apr
1
1
0
0
0
2
1
0
0
0
3
0
1
0
0
4
0
0
1
0
5…
0
0
0
1
Fahrzeug-ID
1
2
3
1
1
0
0
2
0
0
1
3
0
1
0
4
1
0
0
5…
0
0
1
00101 (Tupel Nr. 3 und Nr. 5)
„ alle Lebensmittel-Transporte (Produkt-ID=3) von
Fahrzeug 3
z 00101 UND 01001 = 00001 (nur Tupel Nr. 5)
„ alle Kleidungs- (Produkt-ID=5) und SchuhTransporte (Produkt-ID=7) im Januar 2004
z (10000 ODER 01000) UND 11000 = 11000
UND 11000 = 11000 (Tupel Nr. 1 und Nr. 2)
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Monats-ID Produkt-ID Fahrzeug-ID Einnahmen Ausgaben
2004-Jan
5
1
1235
879
2004-Jan
7
3
5321
6345
2004-Feb
3
2
543
367
2004-Mar
4
1
235
198
2004-Apr
3
3
5432
5399
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
66
Bitmap-Index
UB-Baum
„ Problem
„ Linearisierung des mehrdimensionalen
z
Bitmap-Index braucht Platz
„
„
#Anzahl benötigter Bytes = Kardinalität (Anzahl
der verschiedenen Werte) der Domäne * Anzahl
Tupel der Faktentabelle / 8
Unterstützung für Range Queries nicht optimal
„ Verbesserungsansätze
Bereichsbasierte Kodierung
(range-based encoding)
z Komprimierung von Bitvektoren
z
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
Raums durch „space filling curve“,
anschließend Verwendung eines
eindimensionalen Index (B*-Baum)
„ Nachbarschaftsbeziehung bleibt besser
erhalten als einfache Linearisierung (wie bei
MOLAP beschrieben)
„ Beispiel Z-Kurve
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
11
67
UB-Baum
Informationssysteme:
Neuere Konzepte – Teil II
„ Reihenfolge der
Dimensionen:
erst →, dann ↓
„ Z-Wert:
Position in der Z-Kurve
„ Z-Region:
Anfangs- und Endpunkt
als Paar von Z-Werten
Kapitel 2: Data-Warehouse-Entwurf
- Materialisierung -
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
69
70
Materialisierung
Materialisierung
„ Faktentabelle durchsuchen und Berechnung von
„ Kostenmodell
z Speicherplatzkosten
z Update-Kosten
Aggregationen kostet Zeit
„ Idee
z
häufig gebrauchte aggregierte Zwischenergebnisse
materialisieren (physisch ablegen, speichern)
„
„ Systematisches Vorgehen
z Dimensionshierarchien aufstellen
z Häufigkeit der Zugriffe auf die einzelnen
Aggregationsstufen protokollieren
z Modell aufstellen, welche Ergebnisse von welchem
Zwischenergebnis profitieren
z kostenbasierte Entscheidung treffen
(Speicherplatz ↔ Lesezugriff ↔ Schreibzugriff)
SS 2005
„
also Kosten für Anpassung materialisierter
Zwischenergebnisse bei Datenänderung
wobei Update auch von Materialisierung
profitieren kann
„ Nichttriviales Problem: Query Rewriting
z also Umschreiben von Anfragen, so dass
bestehende Materialisierungen genutzt
werden können
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
71
72
Materialisierung: Beispiel
Monats-ID Produkt-ID Fahrzeug-ID Einnahmen Ausgaben
2004-Jan
5
1
1235
879
2004-Jan
7
3
5321
6345
2004-Feb
3
2
543
367
2004-Mar
4
1
235
198
2004-Apr
3
3
5432
5399
2004-Jan
2
2
745
4536
2004-Feb
2
3
346
636
2004-Jan
4
1
6246
3677
2004-Apr
1
2
326
436
2004-Apr
2
2
6436
7858
2004-May
4
3
8658
6356
2004-Jun
5
1
568
456
2004-May
4
3
5868
3167
2004-Jun
5
2
8762
6788
Quartals-ID
2004-I
2004-I
2004-I
2004-I
2004-I
2004-II
2004-II
2004-II
2004-II
2004-II
Materialisierung: Beispiel
Produkt-ID Einnahmen
2
1091
3
543
4
6481
5
1235
7
5321
1
326
2
6436
3
5432
4
14526
5
9330
„ Aggregationsdimensionen:
z
PID
MID
PID, FID
Lebensmittel-Transporten (Produkt-ID=3) pro Quartal
mit und ohne Einsatz der aggregierten Tabelle aus?
„ Star- oder Snowflake-Schema?
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
---
PID, MID
„ Wie sieht eine Anfrage nach den Einnahmen bei
SS 2005
Produkt (PID), Fahrzeug (FID), Monat (MID)
PID, FID, MID
SS 2005
FID
FID, MID
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
12
73
Materialisierung
Informationssysteme:
Neuere Konzepte – Teil II
„ Erweiterung um mehrstufige
Aggregationshierarchien (wie z.B. Monat Æ
Quartal im Beispiel) und gegebenenfalls
Dimensionseinschränkungen führen zu
explosionsartigem Wachstum der
Möglichkeiten!
Kapitel 2: Data-Warehouse-Entwurf
- Data-Warehouse-Werkzeuge -
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
75
76
Data-Warehouse-Werkzeuge
Vergleich DW-Werkzeuge
„ ETL-Werkzeuge
z Werkzeuge zur Unterstützung des Aufbaus und der Wartung
eines Data Warehouse
z Beispiele:
„
„
„
DataJunction
DataStage (Ascential)
…
„ OLAP-Werkzeuge
z Werkzeuge zur multidimensionalen Datenanalyse
z Beispiele:
„
„
„
„
„
Hyperion Essbase
BusinessObjects
Cognos
MicroStrategy
…
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
77
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
78
Literatur
Anfragebearbeitung: SQL
„ A. Bauer, H. Günzel: Data Warehouse
„ Beispiel SQL
Systeme. Architektur, Entwicklung,
Anwendung. dpunkt.verlag, 2001.
„ W. Lehner: Datenbanktechnologie für DataWarehouse-Systeme. dpunkt.verlag, 2003.
SELECT <Felder>
FROM <Tabellen>
WHERE <Einschränkungen>
GROUP BY <Gruppierungsfelder>
HAVING <Gruppeneinschränkungen>
„ Oder
UPDATE <Tabelle>
SET <Feld> = <Wert>
WHERE <Einschränkungen>
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
13
79
Anfragebearbeitung: SQL
„ Zum Aufwärmen:
SELECT Name, Vname, AVG(Note) AS
Schnitt
z FROM Klausuren, Schüler
z WHERE Jahrgang = 1998
z AND Schüler.ID = Klausuren.SID
z GROUPBY Name, Vname
z HAVING Schnitt > 4.0
z
„ Was macht diese Anfrage?
SS 2005
Heiko Schepperle - Informationssysteme: Neuere Konzepte Teil II
14
Herunterladen