340 likes | 557 Views
Speichermodelle. 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
E N D
Speichermodelle Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
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) Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
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: • 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
1. Relationale Speicherung 1.1 Star-Schema Beispiel: Zeit Kunde 1 1 Verkauf n n Produkt n n Geografie 1 1 Seminar Data Warehousing - SS 2005
1. Relationale Speicherung 1.1 Star-Schema • Vorteile: • einfache Struktur • einfache und flexible Darstellung von Klassifikationshierarchien • einfacher Aufbau der Dimensionstabellen • effiziente Anfrageverarbeitung innerhalb der Dimensionen (=schnellerer Datenzugriff) • weniger teure Verbundoperationen • Nachteile: • Faktentabelle normalisiert und Dimensionstabellen denormalisiert Redundanzen in Dimensionstabellen Änderungsanomalien Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
1. Relationale Speicherung 1.2 Snowflake-Schema Beispiel: Quartal Monat Kunde n Produktkategorie n 1 1 1 1 Tag Jahr 1 1 Produktfamilie Verkauf 1 n n n 1 n Woche n n n 1 Produktgruppe n Filiale Land n n 1 1 Artikel 1 Stadt Region n n 1 1 n 1 Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
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 Beispiel: Einrichtungen Studenten 1 1 Anwesenheit Kurse n n 1 n n Zeit n 1 1 Lehrer Seminar Data Warehousing - SS 2005
1. Relationale Speicherung 1.3 Mischformen (3) Zeit 2. Galaxie-Schema • mehrere unabhängige Faktentabellen • teilweise gemeinsame Nutzung von Dimensionstabellen Produkt Einkauf Lieferant Filiale Verkauf Kunde Seminar Data Warehousing - SS 2005
1. Relationale Speicherung 1.3 Mischformen (4) 3. Fact Constellation - Schema • Speicherung vorberechneter Aggregate • eigene Tabelle für aggregierte Kenngrößen (fact constellation) • für jede Aggregationskombination eine eigene Fakttabelle nötig • 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 • Modell sehr unübersichtlich und schwerer zu handhaben • Beispiel: Umsatz für eine Region Seminar Data Warehousing - SS 2005
1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (1) Horizontal • Modellierung der Stufen der Klassifikationshierarchie als Spaltender 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 Seminar Data Warehousing - SS 2005
1. Relationale Speicherung 1.4 Darstellungsarten für Klassifikationshierarchien (2) Vertikal (rekursiv) • Normalisierte Dimensionstabelle mit 2 Attributen • Dimensions_ID Schlüssel, der die Beziehung zur Faktentabelle schafft • Eltern_ID Attributwert der Dimensions-ID der nächsthöheren Stufe • Vorteil: • einfache Änderung am Klassifikationsschema, da Tabellenschema keine Informationen über Klassifikationsschema hat • Nachteil: • mehrere teure Verbundoperationen für Anfragen einzelner Stufen nötig Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
2. Multidimensionale Speicherung 2.1 Datenstrukturen (1) Seminar Data Warehousing - SS 2005 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 • (Ordnungszahlen: ganze Zahlen)
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)) Seminar Data Warehousing - SS 2005
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 • Indizes des Arrays bilden Koordinaten der Würfelzellen • Berechnungsvorschrift für den Array-Index der Zelle z(x1, x2, ... xn) eines Würfels: D3 D1 D2 Seminar Data Warehousing - SS 2005
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 • ges.: Indexwerte Hemden (2) Hosen (1) Röcke (3) Kleider (4) Mäntel (5) Januar (1) Februar (2) März (3) April (4) Seminar Data Warehousing - SS 2005
2. Multidimensionale Speicherung 2.2 Speicherung (3) 2. Beispiel: • ALL = summierte Werte pro Dimension • 3-D Vektor V (v0, v1, v2) • 3-D Würfel • Dimensionen D0, D1, D2 • Dimensionsgrößen |D0|= 5, |D1|= 4, |D2|= 3 16 12 8 28 4 24 20 40 0 Reihenfolge der Würfelzellen in einem Array Seminar Data Warehousing - SS 2005
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 • leere Speicherblöcke/-seiten nicht physisch ablegen Seminar Data Warehousing - SS 2005
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 Seminar Data Warehousing - SS 2005
2. Multidimensionale Speicherung 2.4 HOLAP • Verbindung der Vorteile von ROLAP und MOLAP • relational (Skalierbarkeit, Standard) • multidimensional (analytische Mächtigkeit, direkte OLAP-Unterstützung) • Speicherung: • historische Detaildaten Relationale Datenbank • aggregierte Daten Multidimensionale Datenbank • Zugriff erfolgt über die multidimensionale Datenbank durch ein multidimensionales Anfragewerkzeug • Aber: • umfassende Kenntnisse aus beiden Welten notwendig • enormer Implementierungsaufwand Seminar Data Warehousing - SS 2005
3. Vergleich: ROLAP, MOLAP, HOLAP (1) Vorteile: Seminar Data Warehousing - SS 2005
3. Vergleich: ROLAP, MOLAP, HOLAP (2) Nachteile: Seminar Data Warehousing - SS 2005
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 • effizientere Speicherung durch Array-Speicherung • primär für aggregierte Daten relevant, weniger zur Verwaltung von Detail-Fakten Seminar Data Warehousing - SS 2005
Vielen Dank für die Aufmerksamkeit… Seminar Data Warehousing - SS 2005