Dimensional Data Modeling & Snowflake Schema

« Back to Glossary Index

Definition: Dimensional Data Modeling ist eine Modellierungstechnik für Data Warehouses, die Daten in Fakten und Dimensionen strukturiert. Das Snowflake Schema ist eine Normalisierungsform des Sternschemas, bei der Dimensionstabellen in mehrere verbundene Tabellen aufgeteilt werden. Dadurch sinkt Redundanz, während Abfragen über komplexe Joins mehr Ressourcen benötigen.


Was ist Dimensional Data Modeling?

Dimensional Data Modeling ist eine weit verbreitete Methode zur Strukturierung von Daten in Data Warehouses. Sie zerlegt Geschäftsprozesse in zwei Grundtypen von Tabellen: Faktentabellen und Dimensionstabellen. Faktentabellen speichern messbare Kennzahlen, etwa Umsätze oder Bestellmengen. Dimensionstabellen liefern beschreibende Attribute wie Zeit, Produkt oder Kunde.

Diese Trennung erzeugt ein Modell, das für Menschen intuitiv erfassbar ist. Analysen laufen entlang von Dimensionen, indem Kennzahlen gruppiert oder gefiltert werden. Ein Data Warehouse auf Basis dimensionaler Modellierung beantwortet typische Business-Fragen schnell und nachvollziehbar. Die Methode dominiert die Praxis, weil sie Abfragen vereinfacht und gleichzeitig die Wartung erleichtert.

Ein wichtiges Konzept ist der Grain, also die Granularität einer Faktentabelle. Er legt fest, auf welcher Detailebene ein einzelner Datensatz abgebildet wird. Ein zu grobes Grain verhindert spätere Analysen; ein zu feines Grain bläht das Modell auf.

Vom Star Schema zum Snowflake Schema

Das einfachste dimensionale Modell ist das Star Schema. Es besteht aus einer zentralen Faktentabelle, die direkt mit den Dimensionstabellen verbunden ist. Die Dimensionen sind denormalisiert und bilden im Diagramm Sterne.

Das Snowflake Schema entsteht, wenn Dimensionstabellen weiter normalisiert werden. Eine Produktdimension lässt sich beispielsweise in die Tabellen Produkt, Kategorie und Hersteller aufteilen. Die Tabellen sind dann sternförmig verzweigt, ähnlich einer Schneeflocke.

Damit sinkt die Redundanz, weil Attribute wie Kategorienamen nur einmal gespeichert werden. Gleichzeitig steigt die Anzahl der Joins, die eine Abfrage ausführen muss. Eine Analyse über Produkte verknüpft nun mehrere Tabellen, statt eine breite Dimensionstabelle zu lesen.

Aspekt Star Schema Snowflake Schema
Redundanz Hoch Niedrig
Speicherbedarf Höher Geringer
Abfrageperformance Schneller Langsamer
Wartbarkeit Einfacher Aufwendiger
Datentiefe Weniger Ebenen Beliebig viele Ebenen

Ein Snowflake Schema normalisiert Dimensionen, reduziert Redundanz und erkauft sich das mit zusätzlichen Joins.

Wann lohnt sich das Snowflake Schema?

Die Entscheidung hängt von den Anforderungen ab. Ein Star Schema ist häufig die erste Wahl, weil es einfach ist und performante Abfragen liefert. Ein Snowflake Schema eignet sich, wenn Daten stark normalisiert vorliegen und Speicherplatz eine Rolle spielt.

Auch Pflegeaspekte zählen. In einem Snowflake Schema wird ein Attribut nur an einer Stelle gepflegt. Ändert sich der Name einer Kategorie, genügt ein Update. Im Star Schema müssten viele redundante Zeilen angepasst werden.

Der Preis ist die Komplexität der Abfragen. Wer mehrere Hierarchieebenen abbildet, etwa Zeit absteigend über Jahr, Quartal und Monat, profitiert von sauberen Ebenen im Snowflake Schema. Für einfache Berichte bleibt das Star Schema meist überlegen.

Modellierungspraxis im Detail

In der Praxis entstehen häufig Mischformen. Eine Faktentabelle bleibt zentral, einzelne Dimensionen werden normalisiert, andere bleiben flach. Ein solches Modell kombiniert die Vorteile beider Schemata und mildert ihre Nachteile.

Wichtige Gestaltungsmittel sind Surrogate Keys, also künstliche Primärschlüssel in Dimensionstabellen. Sie schützen das Modell vor Änderungen der Geschäftsschlüssel. Dazu kommen langsam veränderliche Dimensionen, die historische Zustände abbilden. Sie dokumentieren, wie sich ein Kunde oder Produkt über die Zeit entwickelt hat.

Die Wahl zwischen Star und Snowflake ist keine Glaubensfrage, sondern eine Kosten-Nutzen-Abwägung aus Performance, Speicher und Wartungsaufwand.

Ein guter Einstieg beginnt mit dem Grain der Faktentabelle, gefolgt von den zentralen Dimensionen. Erst wenn messbare Redundanzen oder Pflegeprobleme auftreten, lohnt der Schritt zum Snowflake Schema. Moderne Datenbanken komprimieren Daten ohnehin stark, wodurch der Speichervorteil des Snowflakes an Gewicht verliert. Dafür bleibt die schnellere Abfrageperformance des Star Schemas ein starkes Argument.

« Back to Glossary Index