Speichermodelle Antje Höll Seminar Data Warehousing - SS 2005 1 Speichermodelle: Überblick 1. Relationale Speicherung (ROLAP) 1.1 Star Schema 1.2 Snowflake Schema 1.3 Mischformen 1.4 Darstellungsarten für Klassifikationshierarchien 2. Multidimensionale Speicherung (MOLAP, HOLAP) 2.1 Datenstrukturen 2.2 Speicherung 2.3 Grenzen der Datenhaltung 2.4 HOLAP 3. Vergleich (ROLAP, MOLAP, HOLAP) 4. Fazit Antje Höll Seminar Data Warehousing - SS 2005 2 1. Relationale Speicherung ROLAP = Relational OLAP relationale Speicherung des multidimensionalen Datenmodells ermöglicht eine multidimensionale Analyse auf einer relationalen Datenbank Speicherung der aggregierten Daten in Relationen SQL als deskriptive Anfragesprache für das Datenmodell Anforderungen möglichst geringer Verlust an anwendungsbezogener Semantik (multidimensionalen Modell, z.B. Klassifikationshierarchien) effiziente Übersetzung multidimensionaler Anfragen effiziente Verarbeitung der übersetzten Anfragen einfache und schnelle Wartbarkeit der relationalen Tabellen (z.B. Laden neuer Daten) Antje Höll Seminar Data Warehousing - SS 2005 3 1. Relationale Speicherung Faktentabelle relationale Speicherung eines Datenwürfels ohne Klassifikationshierarchien Dimensionen, Kennzahlen Spalten der Relation Zelle Tupel Abbildung der Klassifikationshierarchien: Star-, Snowflake-Schema oder Mischformen Antje Höll Seminar Data Warehousing - SS 2005 4 1. Relationale Speicherung 1.1 Star-Schema Faktentabelle: eine (zentrale) Faktentabelle enthält (Geschäfts-) Daten, die analysiert werden sollen quantifizierende Daten Primärschlüssel: zusammengesetzt aus Fremdschlüsseln kann sehr viele Zeilen enthalten Dimensionstabellen: Antje Höll denormalisiert pro Dimension nur eine Tabelle enthalten Attribute qualifizierende Daten jede Dimensionstabelle hat einen Primärschlüssel kleiner als Faktentabelle Zusammenhang zur Faktentabelle über Fremdschlüsselbeziehungen Seminar Data Warehousing - SS 2005 5 1. Relationale Speicherung 1.1 Star-Schema Beispiel: Zeit Kunde KundenID KundenName Geschlecht Alter 1 n Produkt ProduktID Artikel Produktgruppe Produktfamilie Produktkategorie Bezeichnung Marke … Antje Höll n 1 Verkauf KundenID ProduktID ZeitID GeoID n ZeitID Tag 1 Woche Monat Quartal Jahr n Anzahl Umsatz Seminar Data Warehousing - SS 2005 Geografie 1 GeoID Filiale Ort Land Region … 6 1. Relationale Speicherung 1.1 Star-Schema Vorteile: einfache Struktur effiziente Anfrageverarbeitung innerhalb der Dimensionen (=schnellerer Datenzugriff) einfache und flexible Darstellung von Klassifikationshierarchien einfacher Aufbau der Dimensionstabellen weniger teure Verbundoperationen Nachteile: Antje Höll Faktentabelle normalisiert und Dimensionstabellen denormalisiert Redundanzen in Dimensionstabellen Änderungsanomalien Seminar Data Warehousing - SS 2005 7 1. Relationale Speicherung 1.2 Snowflake-Schema Faktentabelle: eine zentrale Faktentabelle verwaltet die Kennzahlen Dimensionsspalten bestehen aus Fremdschlüsseln auf die Dimensionselemente der niedrigsten Stufe Primärschlüssel: zusammengesetzt aus Fremdschlüsseln Dimensionstabellen: normalisiert für jede Klassifikationsstufe eigene Relation jede Dimensionstabelle besitzt einen Primärschlüssel enthalten Attribute Zusammenhang zur Faktentabelle über Fremdschlüsselbeziehungen Fremdschlüsselbeziehungen zwischen Dimensionen Antje Höll Seminar Data Warehousing - SS 2005 8 1. Relationale Speicherung 1.2 Snowflake-Schema Beispiel: KundenID 1 KundenName Geschlecht Alter Produktkategorie ProduktkategorieID Bezeichnung 1 Produktfamilie n 1 Verkauf ProduktfamilieID Bezeichnung ProduktkategorieID KundenID n ArtikelID TagID n FilialeID Produktgruppe ProduktgruppeID n Bezeichnung ProduktfamilieID Anzahl Umsatz Artikel 1 n Antje Höll Monat MonatID 1 Bezeichnung QuartalID Kunde ArtikeltID Bezeichnung ProduktgruppeID Marke 1 … Quartal QuartalID 1 Bezeichnung JahrID n Tag TagID 1 Bezeichnung MonatID WocheID n n FilialeID 1 Bezeichnung StadtID Jahr JahrID Bezeichnung n n Woche WocheID Bezeichnung 1 JahrID Filiale n StadtID n Bezeichnung RegionID Seminar Data Warehousing - SS 2005 1 1 n Land 1 LandID Bezeichnung Stadt 1 n Region 1 RegionID n Bezeichnung LandID 9 1. Relationale Speicherung 1.2 Snowflake-Schema Vorteile: normalisierte Struktur Vermeidung von Änderungsanomalien Tabellen der operativen Systeme bleiben von der Struktur und dem Inhalt unverändert/unberührt Nachteile: Normalisierung hohe Anzahl an Tabellen erhöhte Zugriffskosten (höherer Join-Aufwand) schlechtere Performance Antje Höll Seminar Data Warehousing - SS 2005 10 1. Relationale Speicherung 1.3 Mischformen (1) Star-vs. Snowflake-Schema Star-Schema: - Redundanzen kein so großes Problem - selten Änderungen an Klassifikationen Änderungsanomalien kontrollierbar Einschränkungen für Anfragen finden häufig auf höherer Granularitätsstufe statt beim Snowflake-Schema jedes Mal teure Verbundoperationen nötig entfällt beim Star-Schema deutliche Steigerung der Anfragegeschwindigkeit Struktur der Klassifikationen (Hierarchien) wird im Snowflake-Schema auch im Tabellennamen widergespiegelt im Starschema wird die gesamte Klassifikation als eine Tabelle abgebildet Fazit: Welches Schema geeignet ist, hängt vom Anwendungsprofil ab! Mischform Antje Höll Seminar Data Warehousing - SS 2005 11 1. Relationale Speicherung 1.3 Mischformen (2) 1. Factless Fact Tables Faktentabelle ohne Kenngrößen Verweis auf Dimensionen ausschließlich Fremdschlüsselspalten Datensätze repräsentieren Ereignisse, bei denen keine weiteren Informationen, als das Ereignis selbst, anfallen Einrichtungen Beispiel: Studenten MatrNr Name Geschlecht Alter Antje Höll 1 Anwesenheit n n Zeit Datum Tag Monat Quartal Jahr 1 1 Datum RaumNr MatrNr KursNr LehrerNr RaumNr … Kurse n 1 n KursNr KursName … n 1 Seminar Data Warehousing - SS 2005 Lehrer LehrerNr LehrerName Gehalt … 12 1. Relationale Speicherung 1.3 Mischformen (3) 2. Galaxie-Schema mehrere unabhängige Faktentabellen teilweise gemeinsame Nutzung von Dimensionstabellen Produkt ProduktID ProduktName ProduktGruppe Lieferant LieferantID LieferantName LieferantenGrID LieferantenGr Kunde Antje Höll KundenID KundenName KundenGrID KundenGr Einkauf LieferantID ProduktID Datum FilialeID Zeit Datum Tag Monat Quartal Jahr Einkaufsmenge Verkauf KundenID ProduktID Datum FilialeID Verkaufsmenge Seminar Data Warehousing - SS 2005 Filiale FilialeID Filiale Ort Land Region 13 1. Relationale Speicherung 1.3 Mischformen (4) 3. Fact Constellation - Schema Speicherung vorberechneter Aggregate eigene Tabelle für aggregierte Kenngrößen (fact constellation) Trennung der aggregierten Werte von den atomaren Werte schnellerer Zugriff auf die Aggregationen mit der Anzahl der Dimensionen steigt die Anzahl der Fakttabellen explosionsartig an für jede Aggregationskombination eine eigene Fakttabelle nötig Modell sehr unübersichtlich und schwerer zu handhaben Beispiel: Umsatz für eine Region Antje Höll Seminar Data Warehousing - SS 2005 14 1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (1) Horizontal Modellierung der Stufen der Klassifikationshierarchie als Spalten der denormalisierten Dimensionstabelle Vorteil: Einschränkungen auf höherer Granularität ohne Join Nachteil: Duplikateliminierung beim Anfragen bestimmter Stufen, wie bspw. Produktgruppe in einer Kategorie relativ teuer, da Sortierung erforderlich Produkt_ID Artikel Produktgruppe Produktfamilie Kategorie 1234 Lavamat S Waschmaschinen Waschgeräte weiße Ware 1235 Duett Waschmaschinen Waschgeräte weiße Ware 1236 Novotronic Trockner Waschgeräte weiße Ware 1237 Vento 500 Trockner Waschgeräte weiße Ware Antje Höll Seminar Data Warehousing - SS 2005 15 1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (2) Vertikal (rekursiv) Normalisierte Dimensionstabelle mit 2 Attributen Dimensions_ID Schlüssel, der die Dimensions_ID Beziehung zur Faktentabelle schafft Eltern_ID Attributwert der Dimensions- Lavamat S ID der nächsthöheren Stufe Duett Eltern_ID Vorteil: Novotronic Trockner Vento 500 Trockner Waschmaschinen Waschgeräte Trockner Waschgeräte Waschgeräte weiße Ware einfache Änderung am Klassifikationsschema, da Tabellenschema keine Informationen über Klassifikationsschema hat Nachteil: Antje Höll Waschmaschinen Waschmaschinen mehrere teure Verbundoperationen für Anfragen einzelner Stufen nötig Seminar Data Warehousing - SS 2005 16 1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (3) Verbindung der Horizontal-und Vertikal-Strategie Repräsentation der Klassifikationsstufen als Spalten –jedoch Stufen nicht mit den Namen der Klassifikationsstufen benannt zusätzliches Attribut „Stufe“ zur Angabe, zu welcher Stufe das Tupel gehört Dimensions_ID Stufe1_ID Stufe2_ID Stufe3_ID Stufe Lavamat S Waschmaschinen Waschgeräte weiße Ware 0 Duett Waschmaschinen Waschgeräte weiße Ware 0 Novotronic Trockner Waschgeräte weiße Ware 0 Vento 500 Trockner Waschgeräte weiße Ware 0 Waschmaschinen Waschgeräte weiße Ware NULL 1 Trockner Waschgeräte weiße Ware NULL 1 Waschgeräte weiße Ware NULL NULL 2 Antje Höll Seminar Data Warehousing - SS 2005 17 1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (4) Problem: bei allen genannten Abbildungsvarianten geht Semantik verloren Gründe für Semantikverluste: Unterscheidung zwischen Kennzahl und Dimension schwierig (Attribute der Faktentabelle) Unterscheidung zwischen Attribute von Dimensionstabellen (beschreibend, Aufbau der Hierarchie) nicht möglich Aufbau der Dimensionen geht verloren Wie verlaufen Drill-Pfade? zusätzliches Attribut „Stufe“ zur Angabe der bezeichneten Klassifikationsstufe Lösung: Erweiterung des Systemkatalogs des relationalen DBMS um Metadatentabellen für multidimensionale Anwendungen Antje Höll Seminar Data Warehousing - SS 2005 18 2. Multidimensionale Speicherung MOLAP = Multidimensional OLAP multidimensionale Speicherung des multidimensionalen Datenmodells Speicherung der aggregierten Daten in speziellen multidimensionalen Datenstrukturen Verwendung unterschiedlicher Datenstrukturen für Datenwürfel und Dimensionen Speicherung basiert auf Arrays Ordnung der Dimension zur Adressierung der Würfelzellen notwendig basiert nicht auf SQL, sondern bedient sich eigener Programmierschnittstellen wird von speziell dafür entwickelte Datenbanken ausgeführt MDBMS Antje Höll Seminar Data Warehousing - SS 2005 19 2. Multidimensionale Speicherung 2.1 Datenstrukturen (1) Dimension: endliche, geordnete Liste von Dimensionswerten enthält Dimensionselemente und die höheren Klassifikationsstufen Dimensionswerte sind einfache unstrukturierte Datentypen (String, Integer, Date) Ordnung der Dimensionswerte notwendig Antje Höll (Ordnungszahlen: ganze Zahlen) Seminar Data Warehousing - SS 2005 20 2. Multidimensionale Speicherung 2.1 Datenstrukturen (2) Würfel: n Dimensionen spannen n-dimensionaler Raum auf m Dimensionswerte einer Dimension teilen den Würfel für diese Dimension in m parallele Ebenen Zelle: Schnittpunkt von n Ebenen eines n-dimensionalen Würfels Zelle eines n-dimensionalen Würfels wird eindeutig über n-Tupel von Dimensionswerten bestimmt Zellen können eine oder mehrere Kennzahlen eines zuvor definierten Datentyps aufnehmen W = ((D1, D2, …,Dn), (M1:Typ1, …, Mm: Typm)) Bsp.: Verkauf = ((Produkt, Filiale, Zeit), (Anzahl: integer, Umsatz: long)) Antje Höll Seminar Data Warehousing - SS 2005 21 2. Multidimensionale Speicherung 2.2 Speicherung (1) Array-Speicherung sequentielle Speicherung der Zellen des Würfels in n-dimensionales Array mehrdimensionaler Würfel in eine eindimensionale Liste = Linearisierung D3 D1 D2 Indizes des Arrays bilden Koordinaten der Würfelzellen Berechnungsvorschrift für den Array-Index der Zelle z(x1, x2, ... xn) eines Würfels: Index (z) = x 1 + (x 2 -1) · |D1| + (x 3 -1) · |D1| · |D 2 | + ... + (x n -1) ·|D1| · ... · |D n-1| n i 1 i 1 j 1 = 1+ ( xi 1) D j Antje Höll Seminar Data Warehousing - SS 2005 22 2. Multidimensionale Speicherung 2.2 Speicherung (2) 1. Beispiel: Adressberechnung in einem zweidimensionalen Datenwürfel D1 = Produkt mit Werteliste (Hosen, Hemden, Röcke, Kleider, Mäntel) D2 = Zeit mit Werteliste (Januar, Februar, März, April) Ordnungszahlen stehen in Klammern 1 2 3 4 5 Januar (1) 6 7 8 9 10 Februar (2) 11 12 13 14 15 März (3) 16 17 18 19 20 April (4) ges.: Indexwerte 1 ( x1 1) ( x2 1) D1 1 3 2 5 14 Antje Höll Seminar Data Warehousing - SS 2005 23 2. Multidimensionale Speicherung 2.2 Speicherung (3) 2. Beispiel: 3-D Würfel Dimensionen D0, D1, D2 Dimensionsgrößen |D0|= 5, |D1|= 4, |D2|= 3 ALL = summierte Werte pro Dimension 3-D Vektor V (v0, v1, v2) index ((v0 ( D1 1) v1 )( D2 1)) v2 16 12 8 28 4 24 0 20 40 Reihenfolge der Würfelzellen in einem Array Antje Höll Seminar Data Warehousing - SS 2005 24 2. Multidimensionale Speicherung 2.2 Speicherung (4) Probleme: Zahl der Plattenzugriffe bei ungünstigen Linearisierungsreihenfolgen Reihenfolge der Dimensionen ist bei Definition des Würfels zu beachten Caching zur Reduzierung der Zugriffe notwendig Speicherung dünn besetzter Würfel (leere, undefinierte Zellen) beim Auslesen von Zellwerten müssen mehr Blöcke/Seiten übertragen werden Antje Höll leere Speicherblöcke/-seiten nicht physisch ablegen Seminar Data Warehousing - SS 2005 25 2. Multidimensionale Speicherung 2.3 Grenzen der Datenhaltung Skalierbarkeitsprobleme aufgrund dünn besetzter Datenräume teilweise einseitige Optimierung auf schnelles Lesen Ordnung der Dimensionswerte wird bei Array-Speicherung vorausgesetzt erschwert Änderungen an den Dimensionen kein Standard für MDBMS Proprietär Spezialwissen für Erstellung und Wartung erforderlich Antje Höll Seminar Data Warehousing - SS 2005 26 2. Multidimensionale Speicherung 2.4 HOLAP Verbindung der Vorteile von ROLAP und MOLAP relational (Skalierbarkeit, Standard) multidimensional (analytische Mächtigkeit, direkte OLAPUnterstützung) Speicherung: historische Detaildaten Relationale Datenbank aggregierte Daten Multidimensionale Datenbank Zugriff erfolgt über die multidimensionale Datenbank durch ein multidimensionales Anfragewerkzeug Aber: Antje Höll umfassende Kenntnisse aus beiden Welten notwendig enormer Implementierungsaufwand Seminar Data Warehousing - SS 2005 27 3. Vergleich: ROLAP, MOLAP, HOLAP (1) Vorteile: ROLAP MOLAP HOLAP verwendet Antwortzeiten vereinigt bewährte Datenbanktechnologie StandardAbfragesprache (SQL) beliebige Skalierbarkeit effiziente Speicherung großer Datenmengen zahlreiche erfolgreiche DW-Lösungen basieren auf einer ROLAPArchitektur Antje Höll bei kleineren Datenmengen sehr gut effiziente multidimensionale Speicherstrukturen meist eigene, multidimensionale Abfragesprache, intuitiv verständlicher als SQL Seminar Data Warehousing - SS 2005 das Beste aus ROLAP und MOLAP MDDB-System greift nicht mehr auf die operativen Systeme zu, sondern auf ein relationales DW 28 3. Vergleich: ROLAP, MOLAP, HOLAP (2) Nachteile: ROLAP MOLAP HOLAP Standard-SQL proprietäre für multidimensionale Analysen nur bedingt ausreichend schlechtere Performance (durch Datenredundanz kompensierbar) langen Antwortzeiten durch direkten Zugriff auf große Datenmengen Antje Höll MDDBSysteme werden eingesetzt, keine Abfragesprache als Standard definiert eingeschränktes Datenvolumen Schnittstelle zu einem RDBMS notwendig Seminar Data Warehousing - SS 2005 umfangreiche Kenntnisse über ROLAP und MOLAP enormer ImplementierungsAufwand keine einheitliche OLAPAbfragesprache 29 4. Fazit ROLAP gut für dünn besetzte Würfel setzt auf herkömmliche relationale Datenbanken auf Datenwürfel werden in mehrere flachen Tabellen gemäß dem Star- Schema gespeichert Unterstützung großer Datenmengen - Skalierbarkeit MOLAP gut für dicht besetzte Würfel Antje Höll effizientere Speicherung durch Array-Speicherung primär für aggregierte Daten relevant, weniger zur Verwaltung von Detail-Fakten Seminar Data Warehousing - SS 2005 30 Vielen Dank für die Aufmerksamkeit… Antje Höll Seminar Data Warehousing - SS 2005 31