5
Anfragen an
Data-Warehouse-
Datenbanken
Die Nutzung von Data-Warehouse-Systemen als analytische Anwendungen ist
typischerweise stark anfragelastig: sei es in Form von Ad-hoc-Anfragen, die von
Nutzern frei formuliert oder über grafische Werkzeuge generiert werden, oder
zur Generierung von vordefinierten Reports. In diesem Kapitel wollen wir Tech-
niken zur Formulierung und Auswertung von Anfragen an Data-Warehouse-
Datenbanken einführen. Ausgehend von Basisoperationen des multidimensio-
nalen Datenmodells werden wir deren Umsetzung in SQL und die Unterstüt-
zung durch spezielle Anfrageoperatoren vorstellen. Neben SQL spielt im Data-
Warehouse-Bereich auch die Anfragesprache MDX eine wichtige Rolle. MDX
ist im Gegensatz zu SQL am multidimensionalen Datenmodell ausgerichtet
und bietet damit direkte Unterstützung für Konzepte wie Dimensionen und
Kennzahlen. Die entsprechenden Sprachkonstrukte behandeln wir ebenfalls in
diesem Kapitel.
5.1 Einführung und Anforderungen
Da die Schemata eines Data Warehouse dem mehrdimensionalen Datenmodell
mit einem oder mehreren Würfeln mit Kennzahlen und Dimensionen folgen,
sind die Anfragen darauf auch meist recht ähnlich. So wählt eine typische An-
frage an ein Data Warehouse aus einer großen Menge vorhandener Kennzahlen
123
einen bestimmten, in mehreren Dimensionen beschränkten Datenbereich aus
und berechnet darauf Aggregationen.
JBeispiel 5-1I Die folgende Fragestellung ist ein Beispiel für eine typi-
sche Anfrage im Data-Warehouse-Kontext, die als Kombination der OLAP-
Operationen angesehen werden kann:
Wie viele Einheiten wurden in den Produktgruppen Softdrinks und
Wein in den Bundesländern Sachsen-Anhalt und Thüringen pro Mo-
nat und Ort in den Jahren 2010 und 2011 verkauft und welche Umsät-
ze sind dabei angefallen?
Die Kennzahlen sind in diesem Fall die Verkaufseinheiten und Umsätze, die
Einschränkung erfolgt bezüglich der Dimensionen Zeit (Jahr), Bundesland und
Produktgruppe, und die Aggregation ist die Summenbildung der Kennzahlen
über diese Dimensionen. 2
Variationen dieses Anfragemusters sind die Anwendung anderer Aggrega-
tionsfunktionen (z.B. der mittlere Umsatz pro Monat), die Berücksichtigung
verschiedener Granularitätsstufen (etwa für 2011 auch die Quartalszahlen) so-
wie die Berechnung von Teil- und Gesamtsummen.
Die Herausforderungen bei der Auswertung derartiger Anfragen liegen
zum einen in der großen zu verarbeitenden Datenmenge und zum anderen in
den mehrdimensionalen Restriktionen. Das folgende Beispiel soll dies illustrie-
ren.
Wir gehen von unserer Getränkehandelskette aus und nehmen an, dass
diese 2.000 Filialen in ganz Deutschland besitzt. Pro Filiale kaufen täglich
1.000 Kunden ein, wobei jeder Kunde im Mittel 5 Artikel erwirbt, von denen 1
Artikel zur Produktgruppe Softdrink und 0,5 Artikel zur Produktgruppe Wein
gehört. Dies bedeutet, dass in einem Data Warehouse pro Tag 10.000.000 Da-
tensätze in die Faktentabelle Verkauf eingefügt werden müssen. Nehmen wir
weiterhin an, dass pro Datensatz 63 Byte benötigt werden (siehe [SSH11]):
für die Kennzahlen: 4 double-Werte à 8 Byte = 32 Byte
1 int-Wert à 4 Byte = 4 Byte
für den Verkaufskanal: 1 char-Wert à 1 Byte = 1 Byte
für die Dimensionswerte: 4 int-Werte à 4 Byte = 16 Byte
für Header- und Verwaltungs-
daten pro Datensatz
= 10 Byte
P
= 63 Byte
Daraus ergeben sich unter Vernachlässigung des Speicher-Overheads pro Block
auf dem Externspeicher 10.000.000 × 63 Byte 600 MB/Tag und bei 310 Ein-
kaufstagen im Jahr 182 GB. Speichern wir in der Faktentabelle Verkaufszahlen
über 10 Jahre, so würde diese Faktentabelle allein 1820 GB umfassen.
124 5 Anfragen an Data-Warehouse-Datenbanken

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.