Star-Schema und Snowflake-Schema
kurz und knapp:

  • Tabellen werden differenziert in Fakten- und Dimensionstabellen
  • Beim Star-Schema steht eine Faktentabelle in der Mitte und an ihr sind Dimensionstabellen gebunden
  • Das Snowflake-Schema ist identisch aufgebaut, aber aus den Dimensionstabellen können weitere Unter-Dimensionstabellen abzweigen

Star-Schema (auch Sternschema) und Snowflake-Schema (auch Schneeflockenschema) sind Modelle, um eine Datenbank zu konstruieren. Diese beiden Schemata eignen sich hervorragend dafür, Data Warehouses oder OLAP-Systeme zu modellieren. Grundlegende Begriffe zum Verständnis sind Faktentabellen und Dimensionstabellen.

Faktentabellen liefern wichtige Geschäftsinformationen. Als Beispiel können wir die Faktentabelle Verkäufe erstellen. Sie beinhaltet Spalten wie z.B. verkaufte Einheiten, durchschnittliche Verkäufe oder Ausgaben. In ihnen befinden sich auch Spalten, die eine Verbindung mit weiteren Tabellen ermöglichen. In technischer Sprache bedeutet das, dass Fremdschlüssel in der Faktentabelle gesammelt werden, um in SQL mit JOINs auf andere Tabellen zugreifen zu können. Das führt uns direkt zu den Dimensionstabellen.

Dimensionstabellen speichern weiterführende Informationen, die die Geschäftsdaten in der Faktentabelle genauer beschreiben. Das können Tabellen wie z.B. Produkte, Kunden, Geschäfte, Marketing und Zeiten sein. Bei Datenanalysen wählt man Spalten aus der Faktentabelle und erweitert sie um Spalten aus der Dimensionstabelle. 

Star-Schema

Der Name des Star-Schemas kommt daher, dass die Tabellen sternförmig angeordnet werden. In der Mitte befindet sich die Faktentabelle und um sie herum werden Dimensionstabellen verknüpft. Es ist die simpelste Form, um ein Data Warehouse zu modellieren. Das ist gleichzeitig auch ihre größte Stärke – Abfragen sind für die Nutzer sehr simpel zu erstellen, weil nur auf zwei Ebenen (Fakten und Dimensionen) gearbeitet wird. Das Verbinden der Tabellen in SQL mit JOIN-Befehlen ist also ohne komplexe Verkettung möglich. Durch Einfachheit des Schemas ist es für unkomplizierte Datenbanken wie z.B. Data Marts (eine „Abteilung“ des Data Warehouses) gut geeignet.

Galaxy-Schema

Das Star-Schema kann um mehrere Faktentabellen erweitert werden. Damit entsteht ein sogenanntes Galaxy-Schema. Darin können sich verschiedene Faktentabellen dieselbe Dimensionstabelle teilen. Haben wir als Faktentabellen die Verkäufe aus unserer IT-Beratung und die Verkäufe aus unserem Online-Shop, können wir eine Kundentabelle erstellen, auf die beide Faktentabellen zugreifen. Damit kann man kompliziertere Systeme kompakter aufbauen.

Snowflake-Schema

Das Snowflake-Schema ist ähnlich wie das Star-Schema aufgebaut. In der Mitte befindet sich die Faktentabelle und um sie herum sind Dimensionstabellen verknüpft. Der große Unterschied zum Star-Schema ist, dass das Snowflake-Schema Unterdimensionen zulässt. Diese Weiterverzweigung gibt dem Modell die Form einer Schneeflocke. Aus einer Dimensionstabelle können daher weitere Dimensionstabellen entspringen. Diese Eigenschaft ermöglicht die Normalisierung von Daten. Normalisierung ist ein Konzept, das große Tabellen in kleinere aufteilt, um doppelte Daten zu vermeiden.

Beispiel Videothek:

Name

Straße

PLZ

GeliehenerFilm

Max Mustermann

Beispielstr. 1

12345

The Nun 2

Max Mustermann

Beispielstr. 1

12345

Paranormal Activity 5: Ghost Dimension

Max Mustermann

Beispielstr. 1

12345

Barbie – Die Magie der Delfine

Erika Musterfrau

Beispielstr. 8

12345

Inception

Die Adressdaten von Max Mustermann doppeln sich bei jedem ausgeliehenen Film. Daher teilt man die Tabelle in zwei auf: Eine Kundentabelle und eine Tabelle für geliehene Filme.

Kunden_ID

Name

Straße

PLZ

1

Max Mustermann

Beispielstr. 1

12345

2

Erika Musterfrau

Beispielstr. 8

12345

Kunden_ID

GeliehenerFilm

1

The Nun 2

1

Paranormal Activity 5: Ghost Dimension

1

Barbie – Die Magie der Delfine

2

Inception

Der größte Vorteil des Snowflake-Schemas ist also die Normalisierung. Bei sehr großen Data Warehouses spart das einen riesigen Anteil am Datenspeicher. Je mehr Unterdimensionen existieren, desto komplizierter werden aber die JOIN-Befehle in SQL.

Star-Schema vs. Snowflake-Schema

Vorteile des Star-Schemas:

  • Unkomplizierte Struktur
  • Einfache Konzeptionierung
  • Simple SQL-Abfragen
  • Schnellere Abfragen durch weniger Fremdschlüssel

Nachteile des Star-Schemas:

  • Denormalisiert – Daten können sich wiederholen
  • Größerer Speicherverbrauch

Vorteile des Snowflake-Schemas:

  • Kann normalisiert sein – weniger doppelten Daten
  • Geringerer Speicherverbrauch

Nachteile des Snowflake-Schemas:

  • Komplizierte Struktur
  • Schwierigere Konzeptionierung
  • In SQL längere JOIN-Ketten
  • Dadurch langsamere Abfragen

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!