Kapitel 7 Grundlagen von Data

LUDWIGMAXIMILIANSUNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE SYSTEMS GROUP Skript zur Vorlesung: Datenbanksysteme II Sommersem...
Author: Herbert Fiedler
93 downloads 0 Views 344KB Size
LUDWIGMAXIMILIANSUNIVERSITY MUNICH

DEPARTMENT INSTITUTE FOR INFORMATICS

DATABASE SYSTEMS GROUP

Skript zur Vorlesung:

Datenbanksysteme II Sommersemester 2014

Kapitel p 7

Grundlagen von Data Warehouses Vorlesung: PD Dr. Peer Kröger http://www.dbs.ifi.lmu.de/cms/Datenbanksysteme_II © Peer Kröger 2014 Dieses Skript basiert im Wesentlichen auf den Skripten zur Vorlesung Datenbanksysteme II an der LMU München von Prof. Dr. Christian Böhm (SoSe 2007), PD Dr. Peer Kröger (SoSe 2008, 2014) und PD Dr. Matthias Schubert ((SoSe 2009) 9)

DATABASE SYSTEMS GROUP

7. Grundlagen von DWHs 7.1 Einleitung g 7.2 Multidimensionale Datenmodellierung g

Datenbanksysteme II― 7. Grundlagen v. DWHs

2

DATABASE SYSTEMS GROUP

7. Grundlagen von DWHs 7.1 Einleitung g 7.2 Multidimensionale Datenmodellierung g

Datenbanksysteme II― 7. Grundlagen v. DWHs

3

DATABASE SYSTEMS GROUP

7.1 Einleitung

Zwei Arten von DB-Anwendungen g – Online Transaction Processing (OLTP) • Routinetransaktionsverarbeitung • Realisierung des operationalen Tagesgeschäfts wie “Buchen eines Flugs” Verarbeitung einer Bestellung” Bestellung “Verarbeitung “Ein- und Verkauf von Waren” …

• Charakteristik: – – – –

Arbeitet auf dem jüngsten, aktuellsten Zustand der Daten Änderungstransaktionen (kurze Lese Lese-/Schreibzugriffe) /Schreibzugriffe) Zugriff auf sehr begrenzte Datenmenge Sehr kurze Antwortzeiten erwünscht (ms-s)

• OLTP-Datenbanken optimieren typischerweise den logischen und physischen DB-Entwurf hinsichtlich dieser Charakteristik

Datenbanksysteme II― 7. Grundlagen v. DWHs

4

DATABASE SYSTEMS GROUP

7.1 Einleitung

Zwei Arten von DB-Anwendungen g ((cont.)) – Online Analytical Processing (OLAP) • Bilden Grundlage für strategische Unternehmensplanung (Decision Support) • Anwendungen wie „Entwicklung Entwicklung der Auslastung der Transatlantik-Flüge Transatlantik Flüge über die letzten 2 Jahre? Jahre?“ „Auswirkungen spezieller Marketingaktionen auf Verkaufszahlen der Produkte?“ „Voraussichtliche Verkaufszahl eines Produkts im nächsten Monat?“ …

• Charakteristik: – – – –

Arbeitet mit „historischen“ Daten (lange Lesetransaktionen) Zugriff auf sehr große Datenmengen Meist Integration, Konsolidierung und Aggregation der Daten Mittlere Antwortzeiten akzeptabel (s-min) (s min)

• OLAP-Datenbanken optimieren typischerweise den logischen und physischen DB-Entwurf hinsichtlich dieser Charakteristik Datenbanksysteme II― 7. Grundlagen v. DWHs

5

DATABASE SYSTEMS GROUP

7.1 Einleitung

Zwei Arten von DB-Anwendungen g ((cont.)) – OLTP- und OLAP-Anwendungen sollten nicht auf demselben Datenbstand ausgeführt werden • Unterschiedliche Optimierungsziele beim Entwurf • Komplexe OLAP-Anfragen könnten die Leistungsfähigkeit der OLTPAnwendungen beeinträchtigen

– Data Warehouse • Datenbanksystem, indem alle Daten für OLAP-Anwendungen OLAP Anwendungen in konsolidierter Form gesammelt werden • Integration von Daten aus operationalen DBs aber auch aus Dateien (E (Excel, l …), ) … • Daten werden dabei oft in aggregierter Form gehalten • Enthält historische Daten • Regelmäßige Updates (periodisch)

Datenbanksysteme II― 7. Grundlagen v. DWHs

6

DATABASE SYSTEMS GROUP

7.1 Einleitung

Operationales p DBS vs. Data Warehouse

Ziel Focus auf Versionen DB Größe DB-Größe DB-Operationen Zugriffe pro Op. Op Leistungsmaß

operationales ti l DBS Abwicklung des Geschäfts D t il D t Detail-Daten nur aktuelle Daten ~ 1 GB Updates und Anfragen ~ 10 Datensätze Durchsatz

Datenbanksysteme II― 7. Grundlagen v. DWHs

Data D t W Warehouse h Analyse des Geschäfts aggregierten i t D Daten t gesamte Historie der Daten ~ 1 TB nur Anfragen ~ 11.000.000 000 000 Datensätze Antwortzeit

7

DATABASE SYSTEMS GROUP

7.1 Einleitung

Begriff g A Data Warehouse is a subject-oriented, integrated, non-volatile, and time variant collection of data to support management decisions [W.H. Inmon, 1996]

– Fachorientierung (subject-oriented) (subject oriented) • System dient der Modellierung eines spezifischen Anwendungsziel (meist g g in Unternehmen)) Entscheidungsfindung • System enthält nur Daten, die für das Anwendungsziel nötig sind. Für das Anwendungsziel irrelevante Daten werden weggelassen

– Integrierte Datenbasis (integrated) • Verarbeitung der Daten aus unterschiedlichen Datenquellen

Datenbanksysteme II― 7. Grundlagen v. DWHs

8

DATABASE SYSTEMS GROUP

7.1 Einleitung

Begriff g A Data Warehouse is a subject-oriented, integrated, non-volatile, and time variant collection of data to support management decisions [W.H. Inmon, 1996]

– Nicht-flüchtige Nicht flüchtige Datenbasis (non (non-volatile) volatile) • Stabile, persistente Datenbasis • Daten im Data Warehouse werden nicht mehr entfernt oder geändert

– Historische Daten (time variant) • Vergleich der Daten über die Zeit möglich • Speicherung über längeren Zeitraum

Datenbanksysteme II― 7. Grundlagen v. DWHs

9

DATABASE SYSTEMS GROUP

7.1 Einleitung

Architektur eines Data Warehouse operationale DB

operationale DB flat files

operationale DB

Einzelne Abteilungen • OLTP

spread sheets

Integration Initiales Laden und periodische Auffrischung des Data Warehouse

Management • OLAP

Data Warehouse

• Decision Support Systems (DSS) • Executive Information Systems (EIS) • Data D t Mi Mining i

Datenbanksysteme II― 7. Grundlagen v. DWHs

10

DATABASE SYSTEMS GROUP

7.1 Einleitung

Data Warehouses und Data Marts – Data Mart: inhaltlich beschränkte Sicht auf das Data Warehouse • Gründe: Eigenständigkeit, Datenschutz, Lastenverteilung, … • Realisierung: Verteilung der DW-Datenbasis • Klassen: – Abhä Abhängige i D Data t Marts: M t Verteilung V t il eines i b bestehenden t h d DW DWs => Analysen auf DM konsistent zu Analysen auf gesamten DW – Unabhängige Data Marts: unabhängig voneinander entstandene „kleine“ DWs, nachträgliche Integration zum globalen DW => unterschiedliche Analysesichten Analyse des Kaufverhaltens im Internetshop Data Mart 1

Analyse des Kaufverhaltens in den Filialen



Data Mart n

DWH Datenbanksysteme II― 7. Grundlagen v. DWHs

11

DATABASE SYSTEMS GROUP

7. Grundlagen von DWHs 7.1 Einleitung g 7.2 Multidimensionale Datenmodellierung g

Datenbanksysteme II― 7. Grundlagen v. DWHs

12

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Datenmodellierung g – Datenmodell sollte bzgl. Analyseprozess optimiert werden – Datenanalyse im Entscheidungsprozess • Betriebswirtschaftliche Kennzahlen stehen im Mittelpunkte (z.B. Erlöse, Gewinne, Verluste, Umsätze, …) => Fakten • Betrachtung dieser Kennzahlen aus unterschiedlichen Perspektiven (z.B. zeitlich, regional, produktbezogen, …) > Dimensionen => • Unterteilung der Auswertungsdimensionen möglich (z.B. zeitlich: Jahr, Quartal, Monat; regional: Bundesländer, Bezirke, Städte/Gemeinden; …) => Hierarchien, Hierarchien Konsolidierungsebenen

Datenbanksysteme II― 7. Grundlagen v. DWHs

13

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Kennzahlen/Fakten – Kennzahlen/Fakten • Numerische Messgrößen • Beschreiben betriebswirtschaftliche Sachverhalte

– Beispiele: Umsatz, Gewinn, Verlust, … – Typen • Additiv: (additive) Berechnung zwischen sämtlichen Dimensionen möglich (z.B. Bestellmenge eines Artikels) • Semi-additiv: S i dditi (additive) ( dditi ) Berechnung B h möglich ö li h mitit A Ausnahme h ttemporaler l Dimension(z.B. Lagerbestand, Einwohnerzahl) • Nicht-Additiv: keine additive Berechnung möglich (z.B. Durchschnittswerte, prozentuale t l Werte, W t …))

Datenbanksysteme II― 7. Grundlagen v. DWHs

14

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Dimensionen – Dimension • Beschreibt mögliche Sicht auf die assoziierte Kennzahl • Endliche Menge von d  2 Dimensionselementen (Hierarchieobjekten), die eine semantische Beziehung aufweisen • Dient der orthogonalen Strukturierung des Datenraums

– Beispiele: Produkt, Geographie, Zeit

Datenbanksysteme II― 7. Grundlagen v. DWHs

15

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Hierarchien in Dimensionen – Dimensionselemente sind Knoten einer Klassifikationshierarchie – Klassifikationsstufe beschreibt Verdichtungsgrad g g – Darstellung von Hierarchien in Dimensionen über Klassifikationsschema Land – Formen • Einfache Hierarchien: höhere Ebene

Stadt

– enthält die aggregierten Werte genau gena – einer niedrigeren Hierarchiestufe

Filiale

• Parallele Hierarchien: innerhalb einer – Dimension sind mehrere verschiedene – Arten der Gruppierung möglich

Jahr Monat

Quartal

Woche

Tag

Datenbanksysteme II― 7. Grundlagen v. DWHs

16

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Data-Cubes – Grundlage der multidimensionalen Datenanalyse: Datenwürfel (Data-Cube) – Kanten des Cubes: Dimensionen – Zellen des Cubes: ein oder mehrere Kennzahlen (als Funktion der Di Dimension) i ) – Anzahl der Dimensionen: Dimensionalität des Cubes – Visualisierung Vi li i • 2 Dimensionen: Tabelle • 3 Dimensionen: Würfel • >3 Dimensionen: Multidimensionale Domänenstruktur

Datenbanksysteme II― 7. Grundlagen v. DWHs

17

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Artikeel

Kategorie

Proodukt

Beispiel: p 3D Data-Cube

Kennzahl: Umsatz Region Filiale Stadt Bundesland

Datenbanksysteme II― 7. Grundlagen v. DWHs

18

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Standardoperationen p zur Datenanalyse y – Pivotisierung/Rotation • Drehen des Data-Cube durch Vertauschen der Dimensionen • Datenanalyse aus verschiedenen Perspektiven Produkt • Beispiel: Zeitraum

Produkt

Region

Datenbanksysteme II― 7. Grundlagen v. DWHs

Zeitraum

Region 19

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Standardoperationen p zur Datenanalyse y ((cont.)) – Roll-Up • Erzeugen neuer Informationen durch Aggregierung der Daten entlang der Klassifikationshierarchie in einer Dimension (z.B. Tag => Monat => Quartal => Jahr) • Dimensionalität bleibt erhalten

– Drill-Down • Komplementär zu Roll Roll-Up Up • Navigation von aggregierten Daten zu Detail-Daten entlang der Klassifikationshierarchie

– Drill-Across • Wechsel von einem Cube zu einem anderen

Datenbanksysteme II― 7. Grundlagen v. DWHs

20

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Standardoperationen p zur Datenanalyse y ((cont.)) – Beispiel: Roll-Up, Drill-Down

Produkt

Produkt 1. Quartal 2. Quartal

Drill-Down 2006

3. Quartal

Roll-Upp 2007

4. Quartal

Summe

Summe

Zeitraum

Region

Datenbanksysteme II― 7. Grundlagen v. DWHs

Zeitraum

Region

21

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Standardoperationen p zur Datenanalyse y ((cont.)) – Slice und Dice • Erzeugen individueller Sichten • Slice: – Herausschneiden von „Scheiben“ aus dem Cube (z B alle Werte eines Quartals) (z.B. – Verringerung der Dimensionalität

• Dice: – Herausschneiden eines „Teil-Cubes“ (z.B. Werte bestimmter Produkte und Regionen) – Erhaltung g der Dimensionalität – Veränderung der Hierarchieobjekte

Datenbanksysteme II― 7. Grundlagen v. DWHs

22

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Standardoperationen p zur Datenanalyse y ((cont.)) – Beispiel: Slice Produkt

Produkt

Summe Elektro

Summe Elektro

Haushalt Kosmetik

Haushalt Kosmetik

Slice 2006

2006

2007

2007

Summe

Summe

Region

Datenbanksysteme II― 7. Grundlagen v. DWHs

Region

23

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Umsetzung g des multidimensionalen Modells – Interne Verwaltung der Daten durch • Relationale Strukturen (Tabellen) – Relationales OLAP (ROLAP) – Vorteile: Verfügbarkeit, Reife der Systeme

• Multidimensionale Strukturen (direkte Speicherung) – Multidimensionales OLAP (MOLAP) – Vorteil: Wegfall der Transformation

– Wichtige Designaspekte • Speicherung • Anfragebearbeitung

Datenbanksysteme II― 7. Grundlagen v. DWHs

24

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Relationale Umsetzung: g Anforderungen g – Vermeidung des Verlusts anwendungsbezogener Semantik aus dem multidimensionalen Modell (z.B. Klassifikationshierarchien) – Effiziente Übersetzung multidimensionaler Anfragen – Effiziente Verarbeitung der übersetzten Anfragen – Einfache Pflege der entstandenen Relationen (z.B. Laden neuer Daten) – Berücksichtigung B ü k i hti d der A Anfragecharakteristik f h kt i tik und dd des D Datenvolumens t l von Analyseanwendungen

Datenbanksysteme II― 7. Grundlagen v. DWHs

25

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Relationale Umsetzung: g Faktentabelle – Ausgangspunkt: Umsetzung des Data-Cubes ohne Klassifikationshierarchien • Dimensionen und Kennzahlen => Attribute der Relation • Zellen => Tupel der Relation Zeit

Kennzahl

Dimensionen

04.04.2008 05 04 2008 05.04.2008

Vanish Oxy Action

Filiale

Tag g

Verkäufe

Vanish Ox. A. Vanish Ox. A. Kukident K kid t Kukident Vanish Ox. A.

Horb Horb Horb R th Roth Roth

04.04.2008 05.04.2008 04.04.2008 04 04 2008 04.04.2008 05.04.2008

4 1 12 0 2



Kukident

Artikel

Ro oth

Ho orb

Produkt

Datenbanksysteme II― 7. Grundlagen v. DWHs

Region

26

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Relationale Umsetzung: g Snowflake Schema – Abbildung von Klassifikationen? – Eigene g Tabelle für jjede Klassifikationsstufe ((Artikel, Produktgruppe, g pp …) – Klassifikationstabellen enthalten • ID für entsprechenden Klassifikationsknoten • Beschreibende Attribute (Marke, Hersteller, Bezeichnung, …) • Fremdschlüssel der direkt übergeordneten Klassifikationsstufe

– Faktentabelle enthält • Kenngrößen • Fremdschlüssel der jeweils niedrigsten Klassifikationsstufe der einzelnen Dimensionen • Fremdschlüssel bilden zusammengesetzte Primärschlüssel der Faktentabelle

Datenbanksysteme II― 7. Grundlagen v. DWHs

27

7.2 Multidim. Datenmodellierung

DATABASE SYSTEMS GROUP

Snowflake Schema: Beispiel p Jahr 1

*

Tag

*

TagID Datum atu MonatID WocheID

JahrID Jahr

Monat *

MonatID Name JahrID

Artikel 1

1

1

ArtikelID Bezeichnung * G GruppeID ID

ProduktGruppe GruppeID Bezeichnung K KategorieID i ID

1

ProduktKategorie KategorieID Bezeichnung

*

1

Woche

*

1

WocheID Nummer

Verkauf ArtikelID TagID FilialID Verkaeufe Umsatz

*

* 1

Fili l Filiale FilialID Bezeichnung StadtID *

1

Stadt

*

StadtID Name LandID

Faktentabelle

Bundesland 1

LandID Name

Kl ifik ti t b ll Klassifikationstabelle Datenbanksysteme II― 7. Grundlagen v. DWHs

28

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Relationale Umsetzung: g Star Schema – Snowflake Schema ist normalisiert • Keine Update-Anomalien • ABER: Zusammenholen von Informationen erfordert Join über mehrere Tabellen

– Star Schema • Denormalisierung der zu einer Dimension gehörenden Tabellen • Für jede Dimension genau eine Dimensionstabelle • Redundanzen in der Dimensionstabelle für schnellere Anfragebearbeitung

Datenbanksysteme II― 7. Grundlagen v. DWHs

29

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Star Schema: Beispiel p Zeit ZeitID Tag Woche Monat Quartal Jahr

Produkt 1

1

Verkauf *

*

Geographie GeographieID Filiale Stadt Bundesland

ProduktID Artikelname Produktgruppe Produktkategorie

ProduktID ZeitID GeographieID Verkaeufe Umsatz

*

1

Datenbanksysteme II― 7. Grundlagen v. DWHs

30

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Relationale Umsetzung: g Mischformen – Idee: Abbildung einzelner Dimensionen anhand von Snowflake oder Star Schema • Kriterien – – – – –

Änderungshäufigkeit der Dimensionen Reduzierung des Pflegeaufwands => Snowflake Anzahl der Klassifikationsstufen einer Dimension Höhere Effizienz durch größere Redundanz => Star ...

– Galaxie (Multi-Cube, Hyper-Cube) • Mehrere Faktentabellen im Star Schema teilweise mit gleichen Dimensionstabellen verknüpft

– Fact Constellation • Speicherung vorberechneter Aggregate in Faktentabelle (z.B. Umsatz für Region) Datenbanksysteme II― 7. Grundlagen v. DWHs

31

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Relationale Umsetzung: g Probleme – Transformation multidimensionaler Anfragen in relationale Repräsentation nötig – Einsatz komplexer Anfragewerkzeuge nötig (OLAP-Werkzeuge) – Semantikverlust S tik l t • Unterscheidung zwischen Kennzahlen und Dimensionen in der Faktentabelle nicht gegeben • Unterscheidung zwischen beschreibenden Attributen und Attributen zum Hierarchie-Aufbau in Dimensionstabellen nicht gegeben

– Daher: direkte multidimensionale Speicherung besser ???

Datenbanksysteme II― 7. Grundlagen v. DWHs

32

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Multidimensionale Umsetzung g – Idee: • Verwende entsprechende Datenstrukturen für Data-Cube und Dimensionen • Speicherung des Data-Cube als Array • Ordnung der Dimensionen nötig nötig, damit Zellen des Data Data-Cube Cube addressiert werden können

– Bemerkung g • Häufig proprietäre Strukturen (und Systeme)

Datenbanksysteme II― 7. Grundlagen v. DWHs

33

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Multidimensionale Umsetzung g ((cont.)) – Datenstruktur für eine Dimension • Endliche geordnete Liste von Dimensionswerten (aller Klassifikationsstufen) • Dimensionswerte: einfache, atomare Datentypen (String Integer (String, Integer, Date Date, …))

– Datenstruktur für Cube • Für d Dimensionen: d-dimensionaler Raum • Bei m Werten in einer Dimension: Aufteilung des Würfels in m parallele Ebenen => endliche gleichgroße Liste von Ebenen je Dimension • Zelle Z ll eines i d d-dimensionalen di i l C Cubes b wird i d eindeutig i d ti üb über d Dimensionswerten identifiziert p Array y • Pro Kennzahl in Zelle ein entsprechendes

Datenbanksysteme II― 7. Grundlagen v. DWHs

34

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Multidimensionale Umsetzung g ((cont.)) – Speicherung des Data-Cube: • Linearisierung des d-dimensionalen Arrays in ein 1-dimensionales Array • Koordinaten der Würfelzellen (Dimensionen) „entsprechen“ Indizes des Arrays • Indexbrechnung für Zelle mit Koordinaten z = x1, …, xd

Index( z )  

x1  ( x2  1) | D1 | ( x3  1) | D1 |  | D2 |

D3 D1 D2



 ( xd  1) | D1 |  | Dd 1 |

Datenbanksysteme II― 7. Grundlagen v. DWHs

35

DATABASE SYSTEMS GROUP

7.2 Multidim. Datenmodellierung

Multidimensionale Umsetzung g ((cont.)) – Vorteile • Direkte OLAP-Unterstützung • Analytische Mächtigkeit

– Grenzen • Hohe Zahl an Plattenzugriffen bei ungünstiger Linearisierungsreihenfolge • Durch die Ordnung der Dimensionswerte (für Array-Abbildung nötig) keine einfache Änderung an Dimensionen möglich • Kein Standard für multidimensionale DBMS

– Oft: Hybride y Speicherung p g HOLAP = MOLAP + ROLAP • Relationale Speicherung der Datenbasis • Multidimensionale Speicherung für häufig aggregierte Daten (z.B. angefragte f t (Teil-)Data (T il )D t Cubes) C b )

Datenbanksysteme II― 7. Grundlagen v. DWHs

36