6.2 Datenmodellierung

Ähnliche Dokumente
Kapitel 6. Einführung in Data Warehouses

Kapitel 7 Grundlagen von Data

Einführung in Data Warehouses

Kapitel 6 Einführung in Data Warehouses

Multidimensionale Modellierung

Summarization-based Aggregation

Anfragen an multidimensionale Daten

Multidimensionales Datenmodell

Das Multidimensionale Datenmodell

Vorlesung Wissensentdeckung in Datenbanken

Data Warehouse. Kapitel 17. Abbildung 17.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Kapitel 6. Vorlesung: PD Dr. Peer Kröger

Data Cube. 1. Einführung. 2. Aggregation in SQL, GROUP BY. 3. Probleme mit GROUP BY. 4. Der Cube-Operator. 5. Implementierung des Data Cube

Motivation. Dimensionen. Motivation /2. 3. Multidimensionales Datenmodell

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Themenblock: Erstellung eines Cube

Datenbanken Unit 9: OLAP, OLTP, Data Warehouse Ranking Algorithmen

Multidimensionales Datenmodell. Motivation. Motivation /2. Grundbegriffe. Analyseoperationen. Notationen zur konzeptuellen Modellierung

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Motivation. Motivation /2. Dimensionen. Einfache Hierarchien. Hierarchien in Dimensionen. 3. Multidimensionales Datenmodell

Betriebliche Anwendungen

Business Intelligence & Reporting. Michael Cordes Holger Oehring Matthias Rein

Data Warehouse. Kapitel 16. Abbildung 16.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Multidimensionales Datenmodell, Anfrageverarbeitung und Anfrageoptimierung

Agenda. Themenblock: Data Warehousing (I) Referenzarchitektur. Eigenschaften eines Data Warehouse. Einführung Data Warehouse Data Access mit SQL

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Data Warehouse. Kapitel 17. Abbildung 17.1: Zusammenspiel zwischen OLTP und OLAP. Man unterscheidet zwei Arten von Datenbankanwendungen:

Seminar Data Warehousing. Seminar. Data Warehousing. Thema: Speichermodelle für Data-Warehouse-Strukturen

3. Aufgabenblatt - Auswertung -

Wiederholung VU Datenmodellierung

Analytic Views: Einsatzgebiete im Data Warehouse

Multidimensionales Datenmodell, Cognos

Übersicht über den Vortrag. Aufbau Integrierter Informationssysteme. Der erste Block - Einleitung. Beispiel einer Anfrage

Data Warehouses. Data Warehouse Architektur ... Sommersemester Melanie Herschel

Teil II: Architektur eines Data-Warehouse-Systems... 57

Datenbanken Grundlagen und Design

Wiederholung VU Datenmodellierung

ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE

3. Relationales Modell & Algebra

Nutzung der Oracle Database InMemory Option für SAP BW

Data Warehouses und Moderne Betriebliche Anwendungen von Datenbanksystemen

3. Mehrdimensionale Datenmodellierung und Operationen Grundlagen

7. XML-Datenbanksysteme und SQL/XML

Kapitel 17: Date Warehouse

3. Relationales Modell & Algebra

SQL - Datenbankdesign - Aufbau

Data Warehousing. Ausführung von OLAP Operationen. Ulf Leser Wissensmanagement in der Bioinformatik

Data Warehouse Technologien

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

Data Warehousing Kapitel 3: Mehrdimensionale Datenmodellierung

Partitionierungsstrategien für Data Vault

Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension

Data-Warehouse-Technologien

Veit Köppen Gunter Saake Kai-Uwe Sattler. 2. Auflage. Data Warehouse Technologien

Data Warehousing. und Operationen. Dr. Andreas Thor Wintersemester 2009/10. Universität Leipzig Institut für Informatik.

KonzMod-Braindump. von Ersties für Ersties. vom 15. Februar 2012

Data Warehousing. Aufbau eines DWH OLAP <-> OLTP Datacube

Data Warehouse Grundlagen

Data Warehousing. Beispiel: : Amazon. Aufbau eines DWH OLAP <-> OLTP Datacube. FU-Berlin, DBS I 2006, Hinze / Scholz

10. Data Warehouse. Übersicht. Literatur

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Verwandt, logisch kohärent, zweckspezifisch, an reale Welt orientiert. Entität kann in einer oder mehreren Unterklassen sein

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension

Datenmodelle und Datenbanken 2

Data Warehousing. Fragen des Marketingleiters. Beispiel: : Amazon. Technisch... Amazon weltweit... Datenbank. Aufbau eines DWH OLAP <-> OLTP Datacube

Data Warehousing. Weitere Buzzwörter: OLAP, Decision Support, Data Mining

INDEXIERUNGS- STRATEGIE IM DATA WAREHOUSE

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Rückblick: Datenbankentwurf

Teil III Multidimensionales Datenmodell

Kapitel 5: Vom relationalen zum multidimensionalen Datenmodell

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Oracle In-Memory & Data Warehouse: Die perfekte Kombination?

Transkript:

Umsetzung 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 27

Relationale Umsetzung: Anforderungen Vermeidung des Verlusts anwendungsbezogener Semantik aus dem multidimensionalen i l Modell (z.b. Klassifikationshierarchien) i Effiziente Übersetzung multidimensionaler Anfragen Effiziente Verarbeitung der übersetzten Anfragen Einfache Pflege der entstandenen Relationen (z.b. Laden neuer Daten) Berücksichtigung der Anfragecharakteristik und des Datenvolumens von Analyseanwendungen 28

Relationale Umsetzung: Faktentabelle Ausgangspunkt: Umsetzung des Data-Cubes ohne Klassifikationshierarchien i - Dimensionen und Kennzahlen => Attribute der Relation - Zellen => Tupel der Relation Zeit Dimensionen Kennzahl 04.04.2008 05.04.2008 Vanish Oxy Action Kukident Artikel Filiale Tag Verkäufe Vanish Ox. A. Horb 04.04.2008 4 Vanish Ox. A. Horb 05.04.2008 Kukident Horb 04.04.2008 2 Kukident Roth 04.04.2008 0 Vanish Ox. A. Roth 05.04.2008 2 Produkt Horb Roth Region 29

Relationale Umsetzung: Snowflake Schema Abbildung von Klassifikationen? Eigene Tabelle für jede Klassifikationsstufe (Artikel, Produktgruppe, ) 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 30

Snowflake Schema: Beispiel Jh Artikel ArtikelID Bezeichnung GruppeID ProduktGruppe GruppeID Bezeichnung KategorieID ProduktKategorie KategorieID Bezeichnung Tag TagID Datum MonatID WocheID M t Jahr JahrID Jahr * * * * Verkauf ArtikelID T ID WocheID Monat MonatID Name JahrID * * * TagID FilialID Verkaeufe Umsatz Woche WocheID Nummer Filiale FilialID Bezeichnung * StadtID Stadt d * * StadtID Name LandID Bundesland LandID Name Faktentabelle 3 Klassifikationstabelle

Relationale Umsetzung: 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 b 32

Star Schema: Visualizierung. Dimensionstabelle Dim_ID Dim_Attribut 3. Dimensionstabelle Dim3_ID Dim3_Attribut 2. Dimensionstabelle Dim2_ID Dim2_Attribut Faktentabelle Dim_ID Dim2_ID Dim3_ID Dim4_ID Fakt Fakt2 Fakt3 4. Dimensionstabelle Dim4_ID Dim4_Attribut 33

Star Schema: Beispiel Zeit ZeitID Tag Woche Monat Quartal Jahr Geographie GeographieID Filialel Stadt Bundesland * * Verkauf ProduktID ZeitID GeographieID Verkaeufe Umsatz * Produkt ProduktID Artikelname Produktgruppe Produktkategorie 34

Relationale Umsetzung: 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 35

Relationale Umsetzung: Begriff Galaxie e( (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) 36

Rl Relationale l Umsetzung: Probleme Transformation multidimensionaler Anfragen in relationale Repräsentation ti nötig Einsatz komplexer Anfragewerkzeuge nötig (OLAP-Werkzeuge) Semantikverlust - Unterscheidung zwischen Kennzahlen und Dimensionen in der Faktentabelle nicht gegeben - Unterscheidung zwischen beschreibenden Attributen und Attributen zum Hierarchie-Aufbau in Dimensionstabellen i nicht gegeben Daher: direkte multidimensionale i l Speicherung besser??? 37

Multidimensionale Umsetzung Idee: - Verwende entsprechende Datenstrukturen für Data-Cube und Dimensionen - Speicherung des Data-Cube als Array - Ordnung der Dimensionen nötig, damit Zellen des Data- Cube addressiert werden können Bemerkung - Häufig proprietäre Strukturen (und Systeme) 38

Multidimensionale Umsetzung (cont.) Datenstruktur für eine Dimension - Endliche geordnete Liste von Dimensionswerten (aller Klassifikationsstufen) - Dimensionswerte: einfache, atomare Datentypen (String, Integer, 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 l Ebenen => endliche gleichgroße Liste von Ebenen je Dimension - Zelle eines d-dimensionalen Cubes wird eindeutig über d Dimensionswerten identifiziert - Pro Kennzahl in Zelle ein entsprechendes Array 39

Multidimensionale Umsetzung (cont.) Speicherung des Data-Cube: - Linearisierung des d-dimensionalen Arrays in ein -dimensionales Array - Koordinaten der Würfelzellen (Dimensionen) entsprechen Indizes des Arrays - Indexbrechnung ec für Zelle e mit Koordinaten z = x,,x x d Index( z) x ( x 3 ( x2 ) D ) D D ( xd ) D Dd 2 D 2 D 3 D 40

Multidimensionale Umsetzung (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 Abbildung nötig) keine einfache Änderung an Dimensionen möglich - Kein Standard für multidimensionale DBMS Oft: Hybride Speicherung HOLAP = MOLAP + ROLAP - Relationale Speicherung der Datenbasis - Multidimensionale Speicherung für häufig aggregierte Daten (z.b. angefragte (Teil-)Data Cubes) 4

6 Einführung in Data Warehouses Übersicht 6. Einleitung 62 6.3 Anfragebearbeitung 42

6.3 Anfragebearbeitung Motivation Typische Anfragen an Data Warehouses beinhalten Aggregationen Wieviele Artikel der Produktgruppe Elektrogeräte wurden im Januar 2000 pro Tag in den einzelnen Regionen in Bayern verkauft? Charakteristik typischer DW-Anfragen - Große Menge vorhandener Fakten - Daraus nur ein bestimmter, in den meisten Dimensionen beschränkter Datenbereich angefragt - Problem: Aggregation auf großen Datenmengen z.b. TB Verkaufsdaten komplett einlesen dauert bei einer Leserate von 200 MB/s: 000000/200 s = 5000 s d.h. ca. 83 min=> inakzeptabel!!! 43

6.3 Anfragebearbeitung Multidimensionale Anfragen Bereichsanfrage (range query) eit (Tage) Z Produkt (Artikel) Partielle ill Bereichsanfrage ih (partial il range query) Zeit (Tag ge) Produkt (Artikel) Punktanfrage (match query) Zeit (Tage) Produkt (Artikel) Partielle Punktanfrage (partial match query) Zeit ( Tage) Produkt (Artikel) 44

6.3 Anfragebearbeitung Umsetzung Grundsätzlich abhängig von der Umsetzung des Schemas - Star Schema vs. Snowflake Schema - Multidimensionale Speicherung Häufige Anfrage-Muster auf relationaler l Umsetzung - (n+)-wege-join zwischen n Dimensionstabellen Faktentabelle - Restriktionen über Dimensionstabellen (z.b. Region = Deutschland, Produktgruppe = Elektrogeräte, Jahr = 2000) 45

6.3 Anfragebearbeitung Star Join Beispiel Wieviele Artikel der Produktgruppe Elektrogeräte wurden im Januar 2000 pro Tag in den einzelnen Regionen in Bayern verkauft? g p Zeit ZeitID Tag Woche Monat Quartal Jahr Geographie GeographieID Filiale Stadt Bundesland * * Verkauf ProduktID ZeitID GeographieID Verkaeufe Umsatz * Produkt ProduktID Artikelname Produktgruppe Produktkategorie SELECT FROM WHERE GROUP BY Geographie.Bundesland, Zeit.Monat, SUM(Verkaeufe) Produkte, Zeit, Geographie, Verkauf Verkauf.ProduktID = Produkt.ProduktID AND AND AND Verkauf.ZeitID = Zeit.ZeitID Verkauf.GeographieID = Geographie.GeographieID Produkt.Produktgruppe = Elektrogeraete AND Geographie.Bundesland = Bayern AND Zeit.Monat = Januar 2000 Geographie.Region, Zeit.Tag 46

6.3 Anfragebearbeitung Star Join Allgemein: - SELECT-Klausel l Kenngrößen (evtl. aggregiert) Ergebnisgranularität g (der Dimensionen) z.b. Zeit.Monat, Geographie.Region - FROM-Klausel Faktentabelle Dimensionstabellen - WHERE-Klausel Verbundbedingungen Restriktionen in Dimensionen z.b. Produkt.Produktgruppe P d k = Elektrogeraete, Zeit.Monat= Januar 2000, 47

6.3 Anfragebearbeitung Star Join: Optimierung Star-Join ist ein typisches Muster für Anfragen in Data Warehouses Typische Charakteristik (wegen Star Schema) - Sehr große Faktentabelle - Relativ kleine, unabhängige Dimensionstabellen Heuristiken klassischer relationaler Optimierer schlagen hier meist fehl - Optimieren e unter der Annahme, dass alle Relationen e etwa gleich groß sind LMU München Skript zur Vorlesung: Datenbanksysteme II SoSe 2008 48 48

6.3 Anfragebearbeitung Star Join: Optimierung (cont.) Auswertungsplan? - 4-Wege Join (Join über 4 Tabellen: Verkauf, Produkt, Zeit, Geographie) - In relationalen DBS kann typischerweise nur paarweise gejoint werden => Sequenz paarweiser Joins - Es gibt 4! = 24 viele mögliche Join-Reihenfolgen (= mögliche Auswertungspläne) - Heuristik zur Verringerung der Anzahl der Möglichkeiten: Joins zwischen Relationen, die nicht durch Join-Bedingung in Anfrage verknüpft, NICHT betrachten 49

6.3 Anfragebearbeitung Star Join: Optimierung (cont.) Optimierter kanonischer Auswertungsplan: SUM( ) [ ] Plan A [p.produktgruppe = Elektrogeraete ] Produkt p [z.monat = Januar 2000 ] Zi Zeit z [g.bundesland = Bayern ] Verkauf v Geographie g 50

6.3 Anfragebearbeitung Star Join: Optimierung (cont.) Alternativer Auswertungsplan, der üblicherweise nicht betrachtet wird SUM( ) [ ] Plan B Verkauf v X [p.produktgruppe = Elektrogeraete ] Produkt p X [z.monat = Januar 2000 ] [g.bundesland = Bayern ] Zeit z Geographie g 5

6.3 Anfragebearbeitung Star Join: Optimierung (cont.) Vergleich von Plan A und B Szenario: - Tabelle Verkauf: 0.000.000 Datensätze - 0 Geschäfte in Bayern (von 00) - 20 Verkaufstage im Januar 2000 (von 000 gespeicherten Tagen) - 50 Produkte in Produktgruppe Elektrogeräte (von 000) - Gleichverteilung/gleiche Selektivität der einzelnen Ausprägungen 52

6.3 Anfragebearbeitung Star Join: Optimierung (cont.) Plan A 50.000 20.000000 Plan B [p.produktgruppe = Elektrogeraete ] 000 Produkt p.000 20 [z.monat = Januar 2000 ] 000 Zeit z.000.000 0 [g.bundesland = Bayern ] 00 Geographie g 0.000.000 Verkauf v 0.000.000 0.000 Verkauf v 50 X 200 [p.produktgruppe = Elektrogeraete ] 000 Produkt p 20 X 0 [z.monat = Januar 2000 ] 000 Zeit z [g.bundesland = Bayern ] 00 Geographie g 53

6.3 Anfragebearbeitung Roll-UP/Drill-Down Verdichtungsgrad wird durch GROUP BY-Klausel spezifiziert: - Mehr Attribute in GROUP BY => weniger starke Verdichtung => Drill-Down - Weniger Attribute in GROUP BY => stärkere Verdichtung => Roll-Up 54

6.3 Anfragebearbeitung Wi Weitere Optimierungs-Heuristiken i i ik Materialisierung von Aggregaten - Aggregation ist sehr zeitaufwendig - Berechne häufig verwendete Aggregationen einmal und materialisiere i deren Ergebnis CUBE-Operator (z.b in SQL-Server, DB2, Oracle 8i) - Aggregationen mit drill-down/roll-up d entlang aller Dimensionen, die in GROUP BY-Klausel vorkommen - Ermöglicht einfachere Formulierung dieser Aggregation - Ermöglicht Optimierung dieser Aggregation normalerweise normalerweise müsste Faktentabelle mehrmals gelesen werden, da Aggregation durch mehrere mit UNION verknüpfte Unteranfragen berechnet werden müsste Durch CUBE-Operator: nur einmaliges lesen der Faktentabelle 55