Verkäufe
Umsatz
Produkt_ID
Zeit_ID
Geo_ID
Kunden_ID
Demogr_ID
Verkauf
Name
Vorname
Straße
Ort
Demogr_ID
Kunden_ID
Kunde
Altersklasse
Einkommensklasse
Geschlecht
Familienstand
Demogr_ID
Demographie
Abbildung 6.11: Mini-Dimensionen
6.2.3 Partitionierung von Datenwürfeln
Bis jetzt hatten wir Partitionierung im Kontext von relationalen Daten betrach-
tet. Eine Partitionierung kann aber auch direkt auf dem Datenwürfel vorge-
nommen werden.
Neben der physischen Aufteilung kann die Partitionierung von Datenwür-
feln weitere Ziele verfolgen. Ein mögliches Ziel ist das Entfernen leerer Bereiche
aus dem Würfel. Auch eine optimierte Speicherung für bestimmte Zugriffsmus-
ter ist möglich, sodass Bereiche, auf die häufig zugegriffen wird, in einige weni-
ge Blöcke zusammengefasst werden.
Art der Partitionierung
Die Partitionierung eines Datenwürfels erfolgt durch die Aufteilung des Wür-
fels in nicht überlappende Bereiche. Üblich sind dabei achsenparallele Be-
reichsgrenzen, also multidimensionale Intervalle. Ein derartiger Bereich wird
als Kachel bezeichnet, die Aufteilung somit als Kachelung. Eine multidimen-
sionale Kachelung wird wie folgt definiert: Der Würfel ist ein n-dimensionales
Array mit Dimensionswerten
D = [1 : d
1
, ..., 1 : d
n
]
Eine Kachelung ist dann eine Menge von Sub-Arrays b
i
, den Kacheln, die den
Bereichen b
1
, ..., b
m
der Dimensionswerte entsprechen.
b
1
= [l
1,1
: u
1,1
, ..., l
1,n
: u
1,n
], ..., b
m
= [l
m,1
: u
m,1
, ..., l
m,n
: u
m,n
],
l steht hierbei für die untere Grenze eines Bereichs (für lower bound), und u für
die obere Grenze (für upper bound).
Jede Kachel muss innerhalb des Würfels liegen, also b
i
D. Des Weiteren
muss gelten, dass die Kacheln disjunkt sind, also b
i
b
j
= für i 6= j und
i, j = 1, ..., m, und dass die Kachelung vollständig ist: Jede besetzte Zelle gehört
genau einem Sub-Array an.
6.2 Partitionierung 171
Multidimensionale Kachelung
Kachelungen in einem mehrdimensionalen Raum können verschiedene Muster
aufweisen, die jeweils Vor- und Nachteile mit sich bringen.
b
i
1
d
1
1
d
2
u
i,2
l
i,2
l
i,1
u
i,1
Abbildung 6.12: Multidimensionale Kachelung
Abbildung 6.12 zeigt eine zweidimensionale Kachelung, die den Raum auf-
teilt. Eine derartige Kachelung wird als irregulär und unausgerichtet bezeich-
net, da die Kachelung nur den Vorgaben der Definition folgt und sonst kei-
ne Regelmäßigkeiten aufweist. Schon im zweidimensionalen Fall ist daher der
Test auf Zuordnung zu einer Kachel daher aufwendig, sodass man in der Regel
Einschränkungen für die Aufteilung aufstellt.
ausgerichtet,
regulär
ausgerichtet,
irregulär
unausgerichtet
Abbildung 6.13: Ausrichtung von Kacheln
Abbildung 6.13 zeigt verschiedene Varianten von irregulär hin zu fest vor-
geschrieben. Unausgerichtete Kachelungen sind im obigen Sinne irregulär, und
für höhere Dimensionszahlen schwer verwaltbar.
172 6 Speicherung
Werden Skalen in unterschiedlichen Abständen verwendet, um den Wür-
fel aufzuteilen, spricht man von einer ausgerichteten Kachelung. Sie ist immer
noch irregulär, da die Kacheln unterschiedliche Größen aufweisen. Eine derar-
tige Kachelung entspricht der Aufteilung in Zellen in einem Grid-File (verglei-
che Abschnitt 7.5). In einer ausgerichteten und regulären Kachelung sind die
Kacheln zudem gleich groß.
dünn besetzt dicht besetzt
Legende
besetzte
Kachel
unbesetzte
Kachel
Abbildung 6.14: Besetzung einer Kachelung mit Werten
Kachelungen unterscheiden sich auch nach der Besetzung des Raumes mit
Werten. Abbildung 6.14 unterscheidet zwischen einer dicht besetzten und ei-
ner dünn besetzten Kachelung. Eine dicht besetzte Kachelung enthält in jeder
Kachel Werte. Eine dünn besetzte Kachelung hat leere Kacheln. Beispiele für
leere Kacheln sind etwa der Düngemittelverkauf in der Antarktis oder histori-
sche Daten über Verkäufe in Filialen, die erst vor einem Jahr eröffnet wurden.
Steuerung der Partitionierung
Die Steuerung der Partitionierung in Kacheln kann unterschiedlich erfolgen.
Eine automatische Partitionierung realisiert ein automatisches Finden einer
Partitionierung für eine optimale Ausführung der Operationen. Dazu werden
sowohl der Füllgrad der Bereiche als auch Zugriffsstatistiken genutzt.
Bestimmte Dimensionen bzw. Dimensionskombinationen können auch ge-
sondert behandelt werden. Typisches Beispiel ist hier die besondere Behand-
lung der Zeitdimension, um eine Partitionierung nach Zeitreihen (spezielle For-
mate für Reihen von Werten, z.B. täglich, wöchentlich, etc.) vorzunehmen.
Ein Spezialfall ist die Zwei-Ebenen-Speicherung, die wir später noch ge-
nauer vorstellen werden. Hier erfolgt nur die Speicherung von tatsächlich ver-
wendeten Kombinationen dünn besetzter Dimensionen.
Statt einer automatischen Partitionierung kann auch eine explizite Parti-
tionenspezifikation des Anwenders, entweder in Form einer direkten Spezifika-
tion jedes Bereiches oder der Vorgabe von Dimensionspartitionen, erfolgen.
6.2 Partitionierung 173

Get Data Warehouse Technologien now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.