4. data warehouses - swl.htwsaar.de · § rdbms sind für diese art von transaktionen optimiert...
TRANSCRIPT
4. Data Warehouses
2
Inhalt§ 4.1 Motivation
§ 4.2 Datenintegration
§ 4.3 Konzeptuelle Modellierung
§ 4.4 Anfragen an Data Warehouses
§ 4.5 Implementierungsaspekte
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
3
Literatur
§ V. Köppen, G. Saake und K.-U. Sattler:Data Warehouse Technologien,mitp Professional, 2014http://www.dbis.prakinf.tu-ilmenau.de/biber/biber3.html
§ Andreas Bauer und Holger Günzel:Data Warehouse Systeme,dpunkt.verlag, 2013
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
4
4.1 Motivation§ Vielzahl von operativen Systemen in Unternehmen
§ Einkauf/Verkauf von Lieferanten/Kunden
§ Kundenverwaltung (Adressen, Beschwerden)
§ Organisation (Mitarbeiter, Abteilungen)
§ Marketing (Management von Kampagnen)
§ Unternehmenssteuerung (management) benötigt ganzheitliche Sicht auf Unternehmensdaten,um analytische Fragen zu beantwortenund Entscheidungen zu treffen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
5
Online Transaction Processing (OLTP)§ Online Transaction Processing (OLTP) zur raschen
Bearbeitung von Transaktionen aus operativen Systemen
§ Transaktionen betreffen nur einen kleinen Teil der Daten§ Mitarbeiter stoßen Transaktionen im Tagesgeschäft
bei Verwendung der operativen Systeme an
§ Beispiele:
§ Zeige Daten zu Kunde mit KundenNr 1776289 an
§ Füge neue Bestellung mit Bestellpositionen ein
§ RDBMS sind für diese Art von Transaktionen optimiert
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
6
Online Analytical Processing (OLAP)§ Online Analytical Processing (OLAP) zur raschen
Bearbeitung von analytischen Transaktionen
§ Transaktionen betreffen u.U. einen großen Teil der Daten
§ Ursprung der Transaktionen sind analytische Fragen,die in der Unternehmenssteuerung entstehen
§ Beispiele:
§ Umsatzentwicklung von Produkt B in den letzten 10 Jahren
§ Gewinn nach Bundesland und Produktkategoriein den letzten 6 Quartalen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
7
Data Warehouses§ Data Warehouses (DWs) haben sich als eigenständige
Systeme zur Unterstützung von OLAP etabliert
§ DWs als eigenständige Systeme, um Beeinträchtigungder operativen Systeme durch Anfragen zu vermeiden
§ DWs müssen Daten aus den verschiedenen operativen Systemen und evtl. externen Datenquellen integrieren
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
8
Datenquellen§ DWs integrieren Daten aus verschiedenen Quellen
§ operative Systeme (z.B. Einkauf/Verkauf, Organisation)
§ externe Datenquellen (z.B. statistische Daten, Wetterdaten)
§ Datenintegration stößt auf viele Herausforderungen
§ Verknüpfung von Datensätzen (z.B. nach Akquisition)
§ Datenqualität (z.B. Eingabefehler, fehlende Attribute)
§ Duplikate (z.B. doppelte Kundeneinträge)
§ Effizienz (z.B. inkrementelle Integration, Bulk-Loading)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
9
Basisdatenbank und Datenwürfel§ Terminologie im Bereich Data Warehouses uneinheitlich;
wir orientieren uns an der in [2] vorgeschlagenen
§ Datenintegration führt zu einer Basisdatenbank (BDB),in der alle relevanten Rohdaten zusammengeführt sind
§ Datenwürfel (data cubes) werden aus BDB abgeleitet; sie stellen betriebswirtschaftliche Fakten (z.B. Umsatz) mehrdimensional (z.B. Produkt, Zeitraum, Region) dar
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
10
Datenwürfel
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Quelle: Köppen, Saake und Sattler [2, S.46]
Multidimensionales Datenmodell Grundbegriffe
GrundbegriffeDimensionenFakten / Kennzahlen
Produkt
Verkaufsort
Zeit
KennzahlUmsatz
Filiale
Stadt
Bundesland
Gruppe Artikel
JahrQuartal
Monat
Kategorie
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–2
11
Data Marts und Data Warehouse§ Data Marts sind definierte Sichten (z.B. für eine Sparte
oder ein Vertriebsgebiet) auf Datenwürfeln und/oder BDB
§ Data Warehouse bezeichnet Gesamtheit aus Basisdatenbank, Datenwürfeln sowie Data Marts
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
12
12 OLAP-Regeln nach Codd§ E. F. Codd hat 1993 einen Katalog von Anforderungen
formuliert, die OLAP-Systeme erfüllen müssen
1. Multidimensionale Sichtauf Kennzahlen (z.B. Umsatz), die in verschiedenenDimension (z.B. Zeit) aggregiert und gruppiert werden
2. TransparenzImplementierung bleibt dem Benutzer verborgen
3. OLAP-ZugriffeZugriffsschnittstelle ist auf OLAP-Analysen zugeschnitten
4. PerformanzLeistung des Data-Warehouse-Systems ist unempfindlich gegenüber Anzahl von Dimensionen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
13
12 OLAP-Regeln nach Codd5. Skalierbarkeit
Nutzung von verteilten Architekturen zum Umgang mit sehr großen Datenmengen
6. Generische DimensionalitätDimensionen gleich behandelt und organisiert
7. Dünnbesetzte StrukturenEffizienter Umgang mit dünnbesetzten Datenwürfelndurch geeignete Daten- und Indexstrukturen
8. MehrbenutzerbetriebKonfliktfreier Betrieb mit mehreren Benutzern
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
14
12 OLAP-Regeln nach Codd9. Uneingeschränkte Operationen
Auf Datenwürfel definierte Operatoren werden umgesetzt
10. Intuitive BenutzeroberflächenBenutzeroberfläche soll intuitiv sein und z.B. eine Navigation entlang der Dimensionshierarchien erlauben
11. Flexibles ReportingTabellarische, aber auch zwei- oder mehrdimensionaleReports (Berichte) müssen frei konfigurierbar sein
12. Beliebig viele Dimensionen und AggregationsebenenKeinerlei Einschränkungen bzgl. Anzahl von Dimensionenund Tiefe der Dimensionshierarchien
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
15
FASMI-Anforderungen§ Pendse und Creeth haben folgende Anforderungen an
Data-Warehouse-Systeme formuliert
§ Fast, d.h. kurze Antwortzeiten, die dem Benutzer ein interaktives Arbeiten ermöglichen (weniger als 5 Sekunden)
§ Analysis, d.h. es muss eine adäquate auf analytische Fragestellungen ausgerichtete Schnittstelle bereitstehen
§ Shared, d.h. das System muss mehrere Benutzer erlauben und ihre heterogenen Anforderungen unterstützen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
16
FASMI-Anforderungen
§ Multidimensional, d.h. das konzeptionelle Datenmodell muss die inhärente Multidimensionalität der analytischen Fragestellungen berücksichtigen
§ Information, d.h. das System muss alle für die Analysenbenötigten Daten zusammenführen und verwalten
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
17
4.2 Datenintegration§ Daten werden im Rahmen eines ETL-Prozesses aus
operativen Systemen ins Data Warehouse überführt
§ Extraktionsphase identifiziert regelmäßig zu übernehmende Änderungen in den Datenquellen
§ Transformationsphase behebt Daten- und Schemakonflikte zwischen Datenquelle und Basisdatenbank
§ Ladephase bringt die transformierten Daten effizient(z.B. mittels Bulk-Loading) in die Basisdatenbank ein
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
18
Datenqualität und Datenbereinigung§ Mangelnde Qualität der Daten aus den verschiedenen
Datenquellen machen eine Bereinigung notwendig
§ Vereinheitlichung von Datentypen und Format (z.B. Name)
§ Erkennen und Zusammenführen von Duplikaten
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Extraktion, Transformation, Laden Datenfehler
Datenfehler
KNr Name Geb.datum Alter Geschl. Telefon PLZ34 Meier, Tom 21.01.1980 35 M 999-999 3910734 Tina Möller 18.04.78 29 W 763-222 3699935 Tom Meier 32.05.1969 27 F 222-231 39107
Person Emailnullnull
PLZ391073699695555
OrtMagdeburg
SpanienIllmenau
Ort
Eindeutigkeitverletzt
Unterschiedliche Repräsentation
WidersprüchlicheWerte
Fehlende Werte(z.B. Default-Werte)
Referentielle Integrität verletzt
Duplikate
Schreib- oder Tippfehler
Falsche oder unzulässige Werte
unvollständig
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 4–54
Quelle: Köppen, Saake und Sattler [2, S.82]
19
Duplikatenerkennung§ Duplikatenerkennung mittels einer Vergleichsfunktion,
welche die Ähnlichkeit von zwei Datensätzen misst
§ Editierdistanzen für textuelle Attribute§ Numerischen Distanzen für numerische Attribute
§ Paare von Datensätzen deren Ähnlichkeit über einem Schwellwert liegt, werden zusammengefasst
§ Verfahren versuchen durch geschicktes Abschätzen vonÄhnlichkeiten oder Sortieren möglichst weniger als O(n2)Vergleiche durchzuführen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
20
Editierdistanz nach Levenshtein§ Editierdistanz nach Levenshtein d(s,t) zwischen zwei
Zeichenketten s und t misst die minimale Anzahl vonOperationen (Zeichen löschen, ändern, hinzufügen),die notwendig sind, um s in t umzuwandeln
§ Beispiel: Editierdistanz zwischen cabel und cube
§ lösche l am Ende von cabel
§ ersetzte a durch u
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
21
Editierdistanz nach Levenshtein§ Editierdistanz lässt sich somit wie folgt rekursiv definieren
§ Berechnung in O(n2) mit dynamischer Programmierung
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
d(s[0..i], t[0..j]) = min
Y___]
___[
d(s[0..i ≠ 1], t[0..j ≠ 1]) + 1(s[i] ”= t[j]) // Andern?
d(s[0..i], t[0..j ≠ 1]) + 1 // Hinzufugen
d(s[0..i ≠ 1], t[0..j]) + 1 // Loschen
22
Editierdistanz nach Levenshtein§ Beispiel: Editierdistanz von ware und wurst
§ DP-Tabelle beinhaltet d(s[0..i],t[0..j]) in DP[i,j]
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
w a r ewurst
0
1
2
3
4
0 1 2 3
23
Editierdistanz nach Levenshtein§ Beispiel: Editierdistanz von ware und wurst
§ DP-Tabelle beinhaltet d(s[0..i],t[0..j]) in DP[i,j]
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
w a r ewurst
0 1 2 3
1 1 2 3
2 2 1 2
3 3 2 2
4 4 3 3
0
1
2
3
4
0 1 2 3
24
q-Gramme§ Menge der q-Gramme zu einer Zeichenkette beinhaltet
alle Zeichenketten der Länge 3, die darin enthalten sind
§ Beispiel: warehouse beinhaltet die 3-Gramme{__w, _wa, war, are, reh, eho, hou, ous, use, se_, e__}
§ Ähnlichkeit von zwei Zeichenketten als Dice-Koeffizientder Mengen ihrer q-Gramme
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
dice(s, t) = 2 · |grams(s, q) fl grams(t, q)||grams(s, q) + grams(t, q)|
25
q-Gramme§ Zwei Zeichenketten s und t müssen mindestens
gemeinsame q-Gramme haben, um eine Editierdistanzvon höchstens k zu haben
§ Man kann diese Schranke ausnutzen, um die Zahl der Paare von Zeichenketten, für die die Editierdistanzexakt berechnet werden muss, deutlich zu reduzieren
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
max(|s|, |t|) ≠ 1 ≠ (k ≠ 1)
26
4.3 Konzeptuelle Modellierung§ Werkzeuge zur konzeptuellen Modellierung von Data
Warehouses betrachten Fakten und Dimensionen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Grundbegriffe
GrundbegriffeDimensionenFakten / Kennzahlen
Produkt
Verkaufsort
Zeit
KennzahlUmsatz
Filiale
Stadt
Bundesland
Gruppe Artikel
JahrQuartal
Monat
Kategorie
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–2Quelle: Köppen, Saake und Sattler [3, S.46]
27
Fakten und Kennzahlen§ Zellen eines Datenwürfels stellen betriebswirtschaftliche
Fakten in Form einer Kennzahl (measure) dar
§ Fakten sind in den Dimensionen des Datenwürfels eingebettet und beziehen sich auf eine Positionim aufgespannten Datenraum
§ Kennzahlen (z.B. Umsatz, Gewinn, verkaufte Stückzahl)sollen Verdichtung entlang der Dimensionen erlauben
§ Beispiel: Umsatz für Produkt B in Filiale X im Mai 2015
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
28
Dimensionen§ Dimensionen beschreiben mögliche Sichten und
strukturieren den aufgespannten Datenraum
§ Dimensionen beinhalten einfache oder parallele Klassifikationshierarchien, entlang derer sichFakten auf einer höheren Klassifikationsstufeweiter verdichten lassen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
29
Einfache und parallele Hierarchien§ Einfache Hierarchie für Dimension Verkaufsort
§ Parallele Hierarchien für Dimension Zeitraum
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Grundbegriffe
Einfache HierarchieHöhere Hierarchieebene enthält die aggregierten Werte genaueiner niedrigeren HierarchiestufeOberster Knoten: Top
I Enthält Verdichtung auf einen einzelnen Wert für die Dimension
Top
Bundesland
Stadt
Filiale
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–7
Multidimensionales Datenmodell Grundbegriffe
Parallele HierarchieInnerhalb einer Dimension sind mehrere unabhängige Arten derGruppierung möglichKeine hierarchische Beziehung zwischen parallelen ZweigenParallelhierarchie
I Pfad im KlassifikationsschemaI Konsolidierungspfad
Top
Jahr
Quartal
Monat
Tag
Woche
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–8Quelle: Köppen, Saake und Sattler [2, S.48]
30
Multidimensional Entity-Relationship-Modell§ Multidimensional Entity-Relationship-Modell (ME/R)
als Erweiterung des ERMs zur konzeptuellenModellierung von Data Warehouses
§ Fakten als ausgezeichnete Beziehungstypen
§ Dimensionen als Gruppen von Entitytypen verbunden durch ausgezeichneten Klassifikationsbeziehungstyp
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Quelle: Köppen, Saake und Sattler [2, S.53]
Multidimensionales Datenmodell Konzeptuelle Modellierung
ME/R: Notationen
Fakten-name Ebene
Faktenbeziehung KlassifikationsstufeKlassifikations-
beziehung
Attribut-bezeichnung
Attribut
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–28
31
Rückblick§ Unterstützung der Unternehmenssteuerung durch
Data Warehouses mit ganzheitlicher Sichtauf Daten aus operativen Systemen
§ Online Transaction Processing (OLTP) und Online Analytical Processing unterscheiden sich deutlich
§ Datenintegration als eine wichtige Herausforderung
§ Multidimensional Entity-Relationship-Model zur konzeptuellen Modellierung von Data Warehouses
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
32
Multidimensional Entity-Relationship-Modell
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Konzeptuelle Modellierung
ME/R: Beispiel
Verkauf Filiale
Tag
ArtikelProdukt-gruppe
Produkt-kategorie
Monat Quartal JahrWoche
Stadt Bundes-land
Anzahl Umsatz
KundeKunden-gruppe
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–29
Quelle: Köppen, Saake und Sattler [2, S.54]
33
Zusammenfassung§ Unterstützung der Unternehmenssteuerung durch
Data Warehouses mit ganzheitlicher Sichtauf Daten aus operativen Systemen
§ Online Transaction Processing (OLTP) und Online Analytical Processing unterscheiden sich deutlich
§ Datenintegration als eine wichtige Herausforderung
§ Multidimensional Entity-Relationship-Model zur konzeptuellen Modellierung von Data Warehouses
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
34
Literatur[1] A. Kemper und A. Eickler: Datenbanksysteme – Eine
Einführung, De Gruyter Oldenbourg, 2013 (Kapitel 17)
[2] V. Köppen, G. Saake und K.-U. Sattler:Data Warehouse Technologien,mitp Professional, 2014
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
35
Implementierung von Data Warehouses§ Verschiedene Ansätze zur Speicherung von Datenwürfeln
§ Relationales OLAP (ROLAP) bildet Datenwürfelauf Relationen ab und verwendet RDBMS
§ Multidimensionales OLAP (MOLAP) speichert Datenwürfeldirekt in Form eines mehrdimensionalen Arrays
§ Hybrides OLAP (HOLAP) verwendet eine Kombinationvon ROLAP und MOLAP (z.B. Detaildaten relationalund vorberechnete Aggregate mehrdimensional)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
36
Snowflake-Schema§ Snowflake-Schema setzt Fakten in eine Faktentabelle
und jede Dimension in mehrere normalisierte Dimensionstabellen um
§ Faktentabelle enthält Kennzahl sowie Fremdschlüsselder jeweils niedrigsten Klassifikationsstufe
§ Dimensionstabelle enthält eine ID, beschreibende Attribute sowie Fremdschlüssel der jeweilsnächsthöheren Klassifikationsstufe
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
37
Snowflake-Schema
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Relationale Umsetzung des multidimensionalen Datenmodells
Snowflake-Schema: Beispiel
ZeitZ_IDZ_Datum
1
*
1
11
*
*
*
ProduktP_IDP_BezeichnungP_VerkaufspreisP_EinkaufspreisP_RabattP_SteuernP_PGruppe_IDVerkauf
V_AnzahlV_KanalV_Produkt_IDV_Zeit_IDV_Kunden_IDV_Filial_ID
KundeK_IDK_NameK_WohnortK_StrasseK_GeschlechtK_KGruppe_ID
FilialeF_IDF_FilialeF_Stadt_ID
StadtS_IDS_NameS_BLand_ID
BundeslandB_IDB_NameB_Land_ID
LandL_IDL_Name
KundengruppeKG_IDKG_Bezeichnung
ProduktgruppePG_IDPG_BezeichnungPG_PKategorie_ID
ProduktkategoriePK_IDPK_Bezeichnung
11
*
*
**
*
*
1
11
1
Dimension "Produkt"
Dimension "Zeit"
Dimension "Kunde"
Dimension "Ort"
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–47
Quelle: Köppen, Saake und Sattler [2, S.58]
38
Star-Schema§ Star-Schema setzt Fakten in eine Faktentabelle
und jede Dimension in eine denormalisierteDimensionstabelle um
§ Faktentabelle enthält Kennzahl sowie Fremdschlüssel der jeweils zugehörigen Einträge in den Dimensionstabellen
§ Dimensionstabelle enthält ID sowie beschreibende Attribute für eine der niedrigsten Klassifikationsstufeund allen höheren Klassifikationsstufen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
39
Star-Schema
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Relationale Umsetzung des multidimensionalen Datenmodells
Star-Schema: Beispiel
ZeitZ_IDZ_Datum
1
*
1
11
*
*
*
ProduktP_IDP_BezeichnungP_VerkaufspreisP_EinkaufspreisP_RabattP_SteuernP_ProduktgruppeP_Produktkategorie
VerkaufV_AnzahlV_KanalV_Produkt_IDV_Zeit_IDV_Kunden_IDV_Ort_ID
KundeK_IDK_NameK_WohnortK_StrasseK_GeschlechtK_Kundengruppe
OrtO_IDO_FilialeO_StadtO_BundeslandO_Land
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–50
Quelle: Köppen, Saake und Sattler [2, S.59]
40
Snowflake-Schema vs. Star-Schema§ Snowflake-Schema hält Dimensionstabellen in 3NF
und vermeidet somit redundante Datenspeicherung;beim Star-Schema sind sie nur in 1NF, wodurchRedundanzen und Anomalien entstehen
§ Star-Schema kann, dank seiner Denormalisierung, Anfragen bzgl. höherer Klassifikationsstufen direkt,ohne zusätzliche Joins bearbeiten
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
41
Snowflake-Schema vs. Star-Schema§ Beispielanfrage im Snowflake-Schema (5 Joins)
§ Beispielanfrage im Star-Schema (3 Joins)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 SELECT S_Name , YEAR( Z_Datum ), SUM( V_Anzahl )
2 FROM Verkauf , Filiale , Stadt , Produkt , Produktgruppe , Zeit
3 WHERE V_Produkt_ID = P_ID AND P_PGruppe_ID = PG_ID
4 AND V_Filial_ID = F_ID AND F_Stadt_ID = S_ID
5 AND V_Zeit_ID = Z_ID AND PG_Bezeichnung = ’Wein ’
6 GROUP BY S_Name , YEAR( Z_Datum )
1 SELECT O_Stadt , YEAR( Z_Datum ), SUM( V_Anzahl )2 FROM Verkauf , Ort , Produkt , Zeit3 WHERE V_Produkt_ID = P_ID AND V_Zeit_ID = Z_ID4 AND V_Ort_ID = O_ID AND P_Produktgruppe = ’Wein ’5 GROUP BY O_Stadt , YEAR( Z_Datum )
42
Galaxie-Schema§ Snowflake-Schema und Star-Schema beinhalten eine
Faktentabelle, die Kennzahlen in den gleichen Dimensionen speichert
§ Galaxie-Schema als Erweiterung des Snowflake-Schemas beinhaltet mehrere Faktentabellen, die Kennzahlen inverschiedenen Dimensionen speichern
§ Vorberechnete Aggregate (z.B. über alle Filialen hinweg)als eine Quelle zusätzlicher Faktentabellen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
43
Galaxie-Schema
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Relationale Umsetzung des multidimensionalen Datenmodells
Galaxie-Schema: Beispiel
1
*
1
11
*
*
*
ProduktP_IDP_BezeichnungP_VerkaufspreisP_EinkaufspreisP_RabattP_SteuernP_PGruppe_ID
VerkaufV_AnzahlV_KanalV_Produkt_IDV_Zeit_IDV_Kunden_IDV_Filial_ID
KundeK_IDK_NameK_WohnortK_StrasseK_GeschlechtK_KGruppe_ID
FilialeF_IDF_FilialeF_Stadt_ID
StadtS_IDS_NameS_BLand_ID
BundeslandB_IDB_NameB_Land_ID
LandL_IDL_Name
KundengruppeKG_IDKG_Bezeichnung
ProduktgruppePG_IDPG_BezeichnungPG_PKategorie_ID
ProduktkategoriePK_IDPK_Bezeichnung 1
1
*
*
**
**
1
1
1
1
*
Summe_VerkaufSV_AnzahlSV_KanalSV_Monat_ID SV_PGruppe_IDSV_BLand_ID
*
*
1
ZeitZ_IDZ_DatumZ_Monat_IDZ_Monat
1
1
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–67Quelle: Köppen, Saake und Sattler [2, S.63]
44
4.4 Anfragen an Data Warehouses§ Analytische Anfragen an Data Warehouses wählen einen
mehrdimensionalen Teilbereich von Fakten ausund berechnen Aggregationen aufhöheren Klassifikationsstufen
§ Beispiel: Umsatz je Produktkategorie in allen europäischen Filialen in den Monaten seit Januar 2010
§ Beispiel: Verkaufte Einheiten je Produkt über alleFilialen pro Jahr seit 2005
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
45
Anfragen an Data Warehouses§ Analytische Anfragen betreffen oft eine große Menge von
Daten (z.B. alle Verkäufe seit 2010)
§ Antwortzeiten sollen interaktiv (d.h. kürzer 5 Sekunden) sein, um eine Interaktion mit dem Datenwürfel zu erlauben
§ Betrachtung eines kleineren Teilwürfels§ Verdichtung der Kennzahlen zu höherer Klassifikationsstufe
§ etc.
§ Data Warehouses setzen auf Vorberechnungen,um diese Anforderungen zu erfüllen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
46
OLAP-Operatoren§ Datenwürfel dient nicht nur der Modellierung, sondern
es lassen sich eine Reihe von Operatoren auf ihm definieren, die dann effizient umgesetzt werden müssen
§ Pivotieren/Rotieren des gesamten Datenwürfels(PIVOT)
§ Navigieren aufwärts/abwärts entlang der Dimensionen(ROLL UP / DRILL DOWN)
§ Betrachten eines Teilwürfels oder einer Scheibe(DICE / SLICE)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
47
PIVOT§ Pivotieren/Rotieren des gesamten Datenwürfels
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Operationen zur Datenanalyse
Pivotierung / RotationDrehen des Würfels durch Vertauschen der DimensionenAnalyse der Daten aus verschiedenen Perspektiven
Produkt
OrtZeit
BierWeinSoftdrink
Thüringen
Sachsen
-
Anhalt Ba
yern
2009
2010
2011
ProduktOrt
Zeit
Bier
Wein
2009
Thüringen
Sachsen
-
Anhalt Ba
yern
20112010
Softdrink
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–34Quelle: Köppen, Saake und Sattler [2, S.126]
48
DRILL DOWN und ROLL UP§ Navigieren aufwärts/abwärts entlang der Dimensionen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Operationen zur Datenanalyse
Roll-Up und Drill-Down
Produkt
OrtZeit
BierWeinSoftdrink
Thüringen
Sachsen
-
Anhalt
Bayern
2009
2010
2011
Produkt
Ort
Zeit
BierWeinSoftdrink
Thüringen
Sachsen
-
Anhalt
Bayern
Q1
Q2
Q3
Q4
2009
2010
2011
...
Drill Down
Roll Up
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–36
Quelle: Köppen, Saake und Sattler [2, S.127]
49
SLICE§ Betrachten einer Scheibe des Datenwürfels
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Operationen zur Datenanalyse
Slice
Produkt
OrtZeit
BierWeinSoftdrink
Thüringen
Sachsen
-
Anhalt
Bayern
2009
2010
2011
Produkt
OrtZeit
BierWeinSoftdrink
Thüringen
Sachsen
-
Anhalt
Bayern
2009
2010
2011
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–38
Quelle: Köppen, Saake und Sattler [2, S.127]
50
DICE§ Betrachten eines Teilwürfels des Datenwürfels
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Multidimensionales Datenmodell Operationen zur Datenanalyse
Dice
Produkt
OrtZeit
BierWeinSoftdrink
Thüringen
Sachsen
-
Anhalt
Bayern
2009
2010
2011
Produkt
OrtZeit
BierWeinSoftdrink
Thüringen
Sachsen
-
Anhalt
Bayern
2009
2010
2011
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 3–39
Quelle: Köppen, Saake und Sattler [2, S.128]
51
Umsetzung in SQL§ Data-Warehouse-Systeme vertrauen meist auf RDBMS
zur Speicherung und zum Anfragen der Daten
§ Bei Verwendung eines Star-Schema ergibt sich folgendes Anfragemuster zum Berechnen eines Datenwürfels
§ (n+1)-Wege-Verbund zwischen n Dimensionstabellenund einer Faktentabelle
§ Restriktionen über den Dimensionstabellen
§ Aggregation und Gruppierung über Kennzahlen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
52
Umsetzung in SQL§ Beispiel:
§ In den Standards SQL:1999 und SQL:2003 wurden Erweiterungen speziell für OLAP eingeführt
§ zusätzliche (statistische) Aggregatfunktionen§ CUBE und ROLLUP Operatoren
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 SELECT O_Stadt , YEAR( Z_Datum ), SUM( V_Anzahl )2 FROM Verkauf , Ort , Produkt , Zeit3 WHERE V_Produkt_ID = P_ID AND V_Zeit_ID = Z_ID4 AND V_Ort_ID = O_ID AND P_Produktgruppe = ’Wein ’5 GROUP BY O_Stadt , YEAR( Z_Datum )
53
Aggregatfunktionen§ Zusätzliche statistische Aggregatfunktionen in SQL:2003
§ VAR_POP(A) und VAR_SAMP(A) zum Berechnen der Varianz auf Population oder Stichprobe
§ STDDEV_POP(A) und STDDEV_SAMP(A) zum Berechnen der Standardabweichung auf Population oder Stichprobe
§ COVAR_POP(A,B) und COVAR_SAMP(A,B) zum Berechnender Kovarianz auf Population oder Stichprobe
§ CORR(A,B) zum Berechnen des Korrelationskoeffizienten
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
54
CUBE§ Analysen benötigen oft Zwischen- und Gesamtsummen
§ Je Zwischen- oder Gesamtsumme ist eine separateUnteranfrage an das RDBMS notwendig
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Anfragen an Data Warehouse Gruppierung und Aggregation
Berechnung von Zwischen- und Gesamtsummen
PGruppe Jahr Bundesland Umsatz Umsatz UmsatzPGruppe- PGruppe- PGruppe
Jahr- JahrBundesland
Wein 2010 Sachsen-Anhalt 45Thüringen 43
882011 Sachsen-Anhalt 47
47135
Bier 2011 Thüringen 4242
42
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 5–13
Quelle: Köppen, Saake und Sattler [2, S.132]
55
CUBE§ Beispiel: Zwischen- und Gesamtsummen mittels
Vereinigung von Unteranfragen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 -- Zwischensumme (1) ¨uber alle Produktgruppen ,Jahre und Bundesl ¨ander
2 SELECT P_Produktgruppe AS PGruppe , YEAR( Z_Datum ), O_Bundesland ,3 SUM( V_Anzahl * P_Verkaufspreis ) AS Umsatz4 FROM Verkauf , Zeit , Produkt , Ort5 WHERE V_Zeit_ID = Z_ID AND V_Produkt_ID = P_ID AND V_Ort_ID = O_ID6 GROUP BY P_Produktgruppe , YEAR ( Z_Datum ), O_Bundesland7
8 UNION ALL9
10 -- Zwischensumme (2) ¨uber alle Produktgruppen und Jahre
11 SELECT P_Produktgruppe AS PGruppe , YEAR ( Z_Datum ),12 CAST(NULL AS VARCHAR (50)) ,13 SUM( V_Anzahl * P_Verkaufspreis ) AS Umsatz14 FROM Verkauf , Zeit , Produkt , Ort15 WHERE V_Zeit_ID = Z_ID AND V_Produkt_ID = P_ID AND V_Ort_ID = O_ID16 GROUP BY P_Produktgruppe , YEAR( Z_Datum )17
18 UNION ALL19
20 ...
56
CUBE§ Vollständige Berechnung aller Zwischen- und
Gesamtsummen führt bei n Gruppierattributenzu 2n auszuwertenden Unteranfragen
§ CUBE-Operator berechnet für gegebene Menge von Gruppierattributen {A1, ..., An} Summen füralle Teilmengen der Gruppierattribute
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
{}{A1}, {A2}, {A3}, . . .{A1, A2}, {A1, A3}, . . .
...{A1, . . . An}
57
CUBE§ Beispiel: Zwischen- und Gesamtsummen mittels
Verwendung des CUBE-Operators
§ CUBE-Operator ist interdimensional, d.h. Gruppierattribute stammen von verschiedenen Klassifikationsstufen unterschiedlicher Dimensionen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 SELECT P_Produktgruppe AS PGruppe , O_Bundesland , YEAR( Z_Datum ),2 SUM( V_Anzahl * P_Verkaufspreis ) AS Umsatz3 FROM Verkauf , Zeit , Produkt , Ort4 WHERE V_Zeit_ID = Z_ID AND V_Produkt_ID = P_ID AND V_Ort_ID = O_ID5 GROUP BY CUBE( P_Produktgruppe , O_Bundesland , YEAR( Z_Datum ))
58
ROLLUP§ ROLLUP-Operator als intradimensionales Pendant zum CUBE-Operator berechnet Zwischen- und Gesamtsummenentlang verschiedener Klassifikationsstufeneiner Dimension
§ Beispiel: Zwischen- und Gesamtsummen für Bundesländer, Städte und Filialen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 SELECT O_Bundesland , O_Stadt , O_Filiale ,2 SUM( V_Anzahl * P_Verkaufspreis ) AS Umsatz3 FROM Verkauf , Zeit , Produkt , Ort4 WHERE V_Produkt_ID = P_ID AND V_Ort_ID = O_ID5 AND V_Zeit_ID = Z_ID AND YEAR( Z_Datum ) = 20116 AND P_Produktgruppe = Wein7 GROUP BY ROLLUP ( O_Bundesland , O_Stadt , O_Filiale )
59
MDX§ Multidimensional Expressions (MDX) als von Microsoft
vorgeschlagene Anfragesprache für multidimensionaleDaten, die auch von anderen Herstellern unterstützt wird
§ MDX-Anfrage nach folgendem Muster
zur Spezifikation eines Datenwürfels
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 SELECT <Achsen >2 FROM <Cube>3 WHERE <Slicer >
60
MDX§ Achsen-Klausel spezifiziert Achsen des Datenwürfels
§ Aufzählung z.B. {ProduktA, ProduktC}
§ Mengenausdruck z.B. Produkte.CHILDREN
§ Kreuzprodukt z.B. CROSSJOIN(Produkte, Regionen)
§ Cube-Klausel spezifiziert Faktentabelle als Datenquelle
§ Slicer-Klausel erlaubt eine Selektion der Daten gemäßDimensionen, die nicht als Achsen verwendet werden(z.B. Measures.[Umsatz] betrachtet nur Umsätze)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
61
MDX§ Beispiel ([2], S. 149)
§ Achse 1: Kreuzprodukt aus Produktkategorien Rotwein und Weißwein mit Orten in Sachsen-Anhalt und Thüringen
§ Achse 2: Monate im ersten Quartal von 2011, zweites und drittes Quartal von 2011, Monate im vierten Quartal von 2011
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 SELECT CROSSJOIN (2 { Produkt . Kategorie . Gruppe .[ Rotwein ],3 Produkt . Kategorie . Gruppe .[ Weißwein ]},4 {Ort .[ Sachsen - Anhalt ]. CHILDREN ,5 Ort .[Th u ringen ]})6 ON COLUMNS ,7 {Zeit .[2011].[ Q1 ]. CHILDREN , Zeit .[2011].[ Q2],8 Zeit .[2011].[ Q3], Zeit .[2011].[ Q4]. CHILDREN }9 ON ROWS
10 FROM Verkauf11 WHERE ( Measures .[ Umsatz ])
62
MDX§ Beispiel ([2], S. 149)
§ Datenquelle: Faktentabelle Verkauf
§ Slicer: Nur Umsätze werden berücksichtigt
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
1 SELECT CROSSJOIN (2 { Produkt . Kategorie . Gruppe .[ Rotwein ],3 Produkt . Kategorie . Gruppe .[ Weißwein ]},4 {Ort .[ Sachsen - Anhalt ]. CHILDREN ,5 Ort .[Th u ringen ]})6 ON COLUMNS ,7 {Zeit .[2011].[ Q1 ]. CHILDREN , Zeit .[2011].[ Q2],8 Zeit .[2011].[ Q3], Zeit .[2011].[ Q4]. CHILDREN }9 ON ROWS
10 FROM Verkauf11 WHERE ( Measures .[ Umsatz ])
63
MDX§ Beispiel ([2], S. 149)
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Anfragen an Data Warehouse Multidimensionale Erweiterungen: MDX
Beispiel CUBEUmsätze 2011
Rotwein WeißweinS.-A. Thür. S.-A. Thür.
Magdeb. Halle Magdeb. Halle1. Quart. Jan 14 12 25 12 9 22
Feb 13 10 22 11 9 21Mär 15 14 23 11 10 22
2. Quart. 42 40 82 39 37 753. Quart. 44 42 80 37 35 734. Quart. Okt 13 12 23 10 10 22
Nov 14 12 24 9 10 21Dez 16 14 26 12 11 20
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 5–53
64
4.5 Implementierungsaspekte§ Implementierungsansätze für Data-Warehouse-Systeme
§ ROLAP verwendet RDBMS zum Speichern und Anfragen
§ MOLAP speichert Daten als multidimensionales Array
§ HOLAP verwendet Kombination der beiden Ansätze
§ Bitmap-Indizes als zusätzliche Indexstruktur, die insbesondere für Attribute mit kleiner Anzahl möglicher Attributwerte und relativ statische Daten geeignet ist
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
65
ROLAP§ Relationales OLAP (ROLAP) verwendet ein RDBMS,
um Datenwürfel in Fakten- und Dimensionstabellenzu speichern
§ Vorteile:
§ RDBMS sind ausgereifte Systeme und weit verfügbar
§ geringer Implementierungsaufwand und Kosten
§ Nachteile:
§ Faktentabellen haben, aufgrund von Dimensionsattributen, einen vergleichsweise hohen Speicherbedarf
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
66
MOLAP§ Multidimensionales OLAP (MOLAP) verwendet ein
multidimensionales Arrays zur Speicherungdes Datenwürfels
§ Klassifikationsstufen der verschiedenen Dimensionenmüssen intern als ganze Zahlen (0...n) kodiert werden
§ Dimensionsinformation eines Fakts muss dann nicht separat gespeichert werden, sondern ist ausseiner Position im multidimensionalenArray ablesbar
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
67
MOLAP§ Datenwürfel als multidimensionales Array, welches dann
mittels Linearisierung (wie in Programmiersprachen)als Folge von Fakten (Kennzahlen) gespeichert wird
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
Quelle: Köppen, Saake und Sattler [2, S.157/159]
Speicherstrukturen für Data Warehouse Multidimensionale Speicherung
KlassifikationshierarchienDimensionswerte umfassen alle Ausprägungen der Dimension:Elemente (Blätter) und Knoten der höheren KlassifikationsstufenKnoten der höheren Stufen bilden weitere Ebenen
Magdeburg
Halle
Sachsen-Anhalt
Erfurt
Thüringen
Januar
FebruarMärz
1. Quartal
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 6–22
Speicherstrukturen für Data Warehouse Multidimensionale Speicherung
Linearisierungsreihenfolge
D2
D1
D3
c� Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte Änderung: 08.11.2013 6–26
68
Bitmap-Indizes§ Bitmap-Indizes als zusätzliche Form von Indexstruktur
(neben B+-Bäumen und hashbasierten Indizes),die insbesondere in Data WarehousesAnwendung findet
§ Bitmap-Indizes geeignet für Attribute mit kleiner Anzahlmöglicher Attributwerte (z.B. Geschlecht, Kategorie)
§ Für jeden möglichen Attributwert wird ein Bitvektorgespeichert, der Tupel anzeigt (Bit auf 1 gesetzt),welche diesen Attributwert besitzen
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
69
Bitmap-Indizes§ Beispiel: Weibliche Kunden in Vertriebsgebieten S und W
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
G:wS
WWWWWWWWU
0101100
T
XXXXXXXXV
V:SS
WWWWWWWWU
1110000
T
XXXXXXXXV
V:WS
WWWWWWWWU
0000101
T
XXXXXXXXV
‚·
V:WQ
cccccccca
S
WWWWWWWWU
0000101
T
XXXXXXXXV
R
ddddddddb
V:WQ
cccccccca
S
WWWWWWWWU
0000101
T
XXXXXXXXV
R
ddddddddb
=
S
WWWWWWWWU
0100100
T
XXXXXXXXV
70
Bitmap-Indizes§ Bitvektoren lassen sich kompakt speichern und sehr
effizient mittels Boole‘scher Operationen verknüpfen
§ Bitmap-Indizes haben für Attribut mit wenigen möglichen Werten einen geringeren Speicherbedarf alsherkömmliche B+-Bäume
§ Bitmap-Indizes sind insbesondere für statische Datengeeignet; ein Einfügen oder Löschen von Tupelnerfordert eine Neuberechnung aller Bitvektoren
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
71
Zusammenfassung§ Datenwürfel besteht aus Fakten und Dimensionen,
die sich in Form eines Snowflake-Schemasoder eines Star-Schemas in Relationenabbilden lassen
§ OLAP-Operatoren (ROLL UP, DRILL DOWN, SLICE, etc.)zur Interaktion mit einem Datenwürfel
§ OLAP-Unterstützung in SQL und durch in Form der von Microsoft vorgeschlagenen Anfragesprache MDX
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses
72
Literatur[1] A. Kemper und A. Eickler: Datenbanksysteme – Eine
Einführung, De Gruyter Oldenbourg, 2013 (Kapitel 17)
[2] V. Köppen, G. Saake und K.-U. Sattler:Data Warehouse Technologien,mitp Professional, 2014
Datenbanken & Informationssysteme / Kapitel 4: Data Warehouses