Schneeflockenschema

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 14. Januar 2020 um 13:23 Uhr durch imported>Gzukrigl(2626867) (https://learndatamodeling.com/snow_flake.htm ist ein "toter" Link).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Schneeflockenschema: Fakt- und Dimensionstabellen bilden eine schneeflockenförmige Struktur und werden im Unterschied zum Sternschema weiter verfeinert und normalisiert

Das Schneeflockenschema ist eine Weiterführung des Sternschemas, das beim OLAP und Data-Warehousing eingesetzt wird.

Beim Sternschema liegen die Dimensionstabellen denormalisiert vor, was eine bessere Verarbeitungsgeschwindigkeit zu Lasten der Datenintegrität und des Speicherplatzes mit sich bringt. Im Gegensatz dazu werden beim Schneeflockenschema die einzelnen Dimensionstabellen verfeinert, indem sie klassifiziert oder normalisiert werden. Durch diese Weiterverzweigung des Datenmodells entsteht die Form einer Schneeflocke, woher die Bezeichnung dieses Entwurfsmusters stammt.

Bedingt durch diese feinere Strukturierung sind die Daten zwar weniger redundant als in einem Sternschema, es sind jedoch für Abfragen eventuell zusätzliche Join-Operationen notwendig. Ein Schneeflockenschema führt also zu kleineren und besser strukturierten Datenmengen, die aber komplexere Zusammenhänge haben und damit unter Umständen zu längeren Lade- oder Abfragezeiten führen.

Definition

Das Schneeflockenschema ist eine Weiterführung des Sternschemas. Bei diesem bleibt die Faktentabelle wie beim Sternschema analog. Jedoch sind im Gegensatz zum Sternschema die Dimensionstabellen differierend, denn diese enthalten nicht mehr alle Dimensionselemente, sondern nur Daten über die Dimensionshierarchien. Die Dimensionen werden dafür weiter verfeinert, indem sie klassifiziert oder normalisiert werden. Jedenfalls werden die Dimensionstabellen dabei um die Attribute erweitert, damit jede Ausprägung einer Dimension in einer eigenen Tabelle dargestellt werden kann. D.h. beim verbreiteten Schneeflockenschema werden die Daten in den Dimensionstabellen in der 3. Normalform (3NF) gespeichert. Durch die Normalisierung entsteht für jede Hierarchiestufe einer Dimension eine eigene Tabelle und führt demnach zu kleineren und besser strukturierten Datenmengen. Durch diese Weiterverzweigung des Datenmodells entsteht die Form einer Schneeflocke, was diesem Schema den Namen verleiht.

Eigenschaften

  • Dimensionentabellen
    • Primärschlüssel zur Identifizierung der Dimensionenwerte
    • Abbildung der Dimensionenhierarchie durch Fremdschlüssel
    • Normalisierung
  • Faktentabellen (gleich mit Sternschema)
    • Fremdschlüssel zu den Dimensionentabellen, d. h. die unterste Ebene jeder Dimension wird als Schlüssel in die Faktentabelle aufgenommen
    • Fremdschlüssel auf die Dimensionen bilden zusammengesetzten Primärschlüssel für die Fakten

Vor- und Nachteile

Folgend werden die Vor- und Nachteile des Schneeflockenschemas im Vergleich zum einfacheren Sternschema aufgezeigt:

Vorteile

  • geringerer Speicherplatzverbrauch: Dimensionentabellen enthalten durch Normalisierung keine redundanten Daten.
  • n:m-Beziehungen zwischen Aggregationsstufen können über Relationstabellen aufgelöst werden
  • optimale Unterstützung der Aggregationsbildung
  • Browsing-Funktionalität: häufige Abfragen über sehr große Dimensionstabellen erbringen Zeitersparnis und Geschwindigkeitsvorteil.

Nachteile

  • Geschwindigkeitsnachteil: Bedingt durch zusätzliche Verbunde bei den Dimensionstabellen
  • Komplexere Strukturierung: Bedingt durch die feinere Strukturierung sind die Daten zwar weniger redundant als in einem Sternschema, die Zusammenhänge sind jedoch komplexer. Mehrstufige Dimensionstabellen müssen deshalb wieder über Join-Abfragen verknüpft werden und können unter Umständen zu längeren Abfragezeiten führen.
  • größere Tabellenanzahl: Durch die komplexere Strukturierung wird eine größere Anzahl an Tabellen benötigt.
  • Reorganisationsproblem: Änderungen im semantischen Modell führen zu umfangreicher Reorganisation der Tabellen und folglich zu einem höheren Wartungsaufwand

Sternschema vs. Schneeflockenschema (normalisiert)

Sternschema Schneeflockenschema
Ziel
  • Benutzerfreundliche Abfrage (Aggregatszugriff; einfaches, intuitives Datenmodell)
  • Redundanzminimierung durch Normalisierung
  • Effiziente Transaktionsverarbeitung
Ergebnis
  • Einfaches, lokales und standardisiertes Datenmodell
  • eine Faktentabelle und wenige Dimensionstabellen
  • Komplexes und spezifisches Schema
  • Viele Entitäten und Beziehungen bei großen Datenmodellen

Beispiel

Beispiel eines Schneeflockenschemas

Das nebenstehende Beispiel zeigt die verknüpften Tabellen, welche für eine vollständige Beschreibung der Produkt Dimension im Microsoft Datawarehouse-Beispielprojekt Adventure Works notwendig sind. Kategorie und Unterkategorie des Produkts in der Product-Dimension müssen demnach enthalten sein. Diese Informationen befinden sich jedoch nicht direkt in der Haupttabelle für die Produkt-Dimension, aber eine Fremdschlüsselbeziehung zwischen Produkt-Dimension und Produkt Unterkategorie-Dimension, die wiederum eine Fremdschlüsselbeziehung zur Produkt Kategorie-Tabelle hat, ermöglicht das Einschließen der Informationen für Produktkategorien und -unterkategorien in der Dimensionstabelle des Produktes.

Die Anzahl der verwendeten Joins steigt beim Schneeflockenschema im Gegensatz zum Sternschema linear mit Anzahl der Aggregationspfade.

Siehe auch

Literatur

  • H. Kemper, W. Mehanna & C. Unger: Business Intelligence – Grundlagen und praktische Anwendungen: Eine Einführung in die IT-basierte Managementunterstützung. 2. erg. Ausgabe, Wiesbaden: Vieweg+Teubner, 2006 ISBN 3-8348-0275-1
  • J. Han & M. Kamber: Data Mining. Concepts and Techniques. 2nd Edition, San Francisco (CA) et al: Morgan Kaufmann, 2006 ISBN 1-558-60901-6
  • B. Larson: Delivering Business Intelligence with Microsoft SQL Server. 2nd Edition, New York: Mcgraw-Hill Professional, 2009 ISBN 0-071-54944-7
  • Ralph Kimball, Margy Ross: The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling, Second Edition. Auflage, Wiley, New York 2002, ISBN 0-471-20024-7.
  • Lynn Langit: Foundations of SQL Server 2005 Business Intelligence, First Edition. Auflage, Apress, New York 2007, ISBN 1-590-59834-2.

Weblinks