Schneeflockenschema vs. Sternschema

Schneeflockenschema vs. Sternschema

Bei der Auswahl eines Datenbankschemas für ein Data Warehouse, Schneeflocke Und Sternschemata tendieren dazu, beliebte Entscheidungen zu sein. In diesem Vergleich wird die Eignung von Stern vs erörtert. Schneeflockenschemata in verschiedenen Szenarien und ihren Eigenschaften.

Vergleichstabelle

Snowflake -Schema gegen Sternschema -Vergleichstabelle
SchneeflockenschemaSternschema
Einfache Wartung / Veränderung Keine Redundanz, daher sind Schneeflockenschemata leichter zu warten und zu verändern. Hat redundante Daten und daher weniger leicht zu pflegen/zu ändern
Benutzerfreundlichkeit Komplexere Abfragen und daher weniger leicht zu verstehen Niedrigere Abfragekomplexität und leicht zu verstehen
Abfrageleistung Weitere ausländische Schlüssel und damit längere Abfrageausführungszeit (langsamer) Weniger Anzahl ausländischer Schlüssel und damit eine kürzere Abfrageausführungszeit (schneller)
Art von DataWarehouse Gut zu verwenden für DataWarehouse Core, um komplexe Beziehungen zu vereinfachen (viele: viele) Gut für DataMarts mit einfachen Beziehungen (1: 1 oder 1: viele)
Schließt sich an Höhere Anzahl von Verbindungen Weniger Flocken
Dimensionstabelle Ein Schneeflockenschema hat möglicherweise mehr als eine Dimensionstabelle für jede Dimension. Ein Sternschema enthält nur eine Einzeldimensionstabelle für jede Dimension.
Wann zu verwenden Wenn die Dimensionstabelle relativ groß ist, ist die Schneeflocken besser, da es den Raum reduziert. Wenn die Dimensionstabelle weniger Zeilen enthält, können wir das Sternschema auswählen.
Normalisierung/ De-Normalisierung Dimensionstabellen sind in normalisierter Form, aber die Faktentabelle befindet sich in de-armalisierter Form Sowohl Dimension als auch Faktentabellen sind in de-armalisiertes Form
Datenmodell Bottom -up -Ansatz Top -Down -Ansatz

Beispiele

Betrachten Sie eine Datenbank für einen Einzelhändler, der viele Geschäfte hat, wobei jedes Geschäft viele Produkte in vielen Produktkategorien und in verschiedenen Marken verkauft. Ein Data Warehouse oder Data Mart für einen solchen Einzelhändler müsste den Analysten die Möglichkeit bieten, Vertriebsberichte auszuführen, die nach Geschäft, Datum (oder Monat, Quartal oder Jahr) oder Produktkategorie oder Marke gruppiert sind.

Beispiel für Sternschema

Wenn dieser Daten Mart ein Sternschema verwendete, würde dies wie folgt aussehen:

Beispiel eines Sternschemas

Die Faktentabelle wäre eine Aufzeichnung von Verkaufstransaktionen, während es Dimensionstabellen für Datum, Speicher und Produkt gibt. Dimensionstabellen sind jeweils mit der Faktentabelle über ihren Primärschlüssel verbunden, was ein Fremdschlüssel für die Faktentabelle ist. Anstatt das tatsächliche Transaktionsdatum in einer Zeile der Faktentabelle zu speichern, wird das Datum_ID gespeichert. Dieses Datum_ID entspricht einer eindeutigen Zeile in der Tabelle dim_date, und in dieser Zeile werden auch andere Attribute des Datums gespeichert, die für die Gruppierung in Berichten erforderlich sind. e.G., Wochentag, Monat, Quartal des Jahres und so weiter. Die Daten werden für eine leichtere Berichterstattung beendet.

Hier ist, wie man einen Bericht über die Anzahl der von Brand und vom Land verkauften Fernseher mit Hilfe von inneren Anschlüssen erhalten würde.

Beispiel für Schneeflockenschema

Das gleiche Szenario kann auch ein Schneeflockenschema verwenden. In diesem Fall würde es wie folgt strukturiert:

Beispiel für Schneeflockenschema (Beispiel klicken, um zu vergrößern)

Der Hauptunterschied im Vergleich zum Sternschema besteht darin, dass Daten in Dimensionstabellen normalisierter sind. Anstatt Monate, Viertel und Tag der Woche in jeder Zeile der DIM_DATE -Tabelle zu speichern, werden diese weiter in ihre eigenen Dimensionstabellen unterteilt. Ähnlich sind für die Tabelle Dim_Store der Zustand und das Land geografische Attribute, die einen Schritt entfernt werden - anstatt in der Tabelle DIM_Store gespeichert zu werden, werden sie jetzt in einer separaten Tabelle DIM_GEOGRAPHIE gespeichert.

Der gleiche Bericht - die Anzahl der von Country und Brand verkauften Fernseher ist jetzt etwas komplizierter als in einem Sternschema:

SQL -Abfrage, um die Anzahl der Produkte von Land und Marke verkaufen zu lassen, wenn die Datenbank ein Schneeflockenschema verwendet.