GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Stern vs. Schneeflocke-Schema

Einführung

Der Stern und Schneeflocke Schema sind logische Speicherdesigns, die häufig in Data Marts und Data Warehouse-Architekturen zu finden sind. Während gängige Datenbanktypen ER-Diagramme (Entity-Relationship) verwenden, verwendet die logische Struktur von Warenhäusern dimensionale Modelle, um das Speichersystem zu konzeptualisieren.

Lesen Sie weiter, um die Unterschiede, Merkmale und Fehler der Stern- und Schneeflockenschemata herauszufinden.

Sternenschema vs. Schneeflockenschema:Der Hauptunterschied

Die zwei Hauptelemente des Dimensionsmodells des Stern- und Schneeflockenschemas sind:

1. Faktentabelle . Eine Tabelle mit der größten Datenmenge, auch Cube genannt .

2.Maßtabellen . Die abgeleitete Datenstruktur liefert Antworten auf Ad-hoc-Abfragen oder Dimensionen, die oft als Nachschlagetabellen bezeichnet werden .

Ausgewählte Dimensionen verbinden auf einem Faktentisch bildet das Schema. Sowohl das Stern- als auch das Schneeflockenschema nutzen die Dimensionalität von Daten, um das Speichersystem zu modellieren.

Die Hauptunterschiede zwischen den beiden Schemas sind:

Sternenschema Snowflake-Schema
Elemente Faktentabelle Dimensionstabellen Faktentabelle Dimensionstabellen Subdimensionstabellen
Struktur Sternförmig Schneeflockenförmig
Abmessungen Eine Tabelle pro Dimension Mehrere Tabellen für jede Dimension
Modellrichtung Von oben nach unten Von unten nach oben
Speicherplatz Verwendet mehr Speicherplatz Verwendet weniger Speicherplatz
Normalisierung Denormalisierte Dimensionstabellen Normalisierte Dimensionstabellen
Abfrageleistung Schnell, weniger JOINs erforderlich, da weniger Fremdschlüssel Langsam, mehr JOINs erforderlich wegen mehr Fremdschlüsseln
Abfragekomplexität Einfach und leichter verständlich Kompliziert und schwieriger zu verstehen
Datenredundanz Hoch Niedrig
Anwendungsfall Dimensionstabellen mit mehreren Zeilen, typisch für Data Marts Dimensionstabellen mit mehreren Zeilen in Data Warehouses gefunden

Aufgrund der Komplexität des Schneeflockenschemas und der geringeren Leistung ist das Sternschema nach Möglichkeit die bevorzugte Option. Eine typische Möglichkeit, die Probleme im Schneeflockenschema zu umgehen, besteht darin, den dedizierten Speicher in mehrere kleinere Einheiten mit einem Sternschema zu zerlegen.

Was ist ein Sternschema?

Ein Sternschema ist eine logische Struktur für die Entwicklung von Data Marts und einfacheren Data Warehouses. Das einfache Modell besteht aus Dimensionstabellen, die mit einer Faktentabelle in der Mitte verbunden sind.

Die Faktentabelle besteht typischerweise aus:

  • Quantifizierbare numerische Daten wie Werte oder Anzahl.
  • Verweise auf die Dimensionen durch Fremdschlüssel.

Die Nachschlagetabellen stellen beschreibende Informationen dar, die direkt mit der Faktentabelle verbunden sind.

Um beispielsweise die Verkäufe eines E-Commerce-Geschäfts zu modellieren, könnte die Faktentabelle für Käufe den Gesamtpreis des Einkaufs enthalten. Auf der anderen Seite enthalten Maßtabellen beschreibende Informationen zu den Artikeln, Kundendaten, Zeitpunkt oder Ort des Kaufs.

Das Sternschema für die Analyse der Käufe im Beispiel hat vier Dimensionen. Die Faktentabelle ist über das Konzept der Fremd- und Primärschlüssel mit den Dimensionstabellen verbunden. Die Faktentabelle besteht daher neben den numerischen Daten auch aus Fremdschlüsseln, um Beziehungen zwischen Tabellen zu definieren.

Eigenschaften eines Sternschemas

Die Hauptmerkmale des Sternschemas sind:

  • Vereinfachte und schnelle Abfragen . Weniger JOIN-Vorgänge aufgrund der Denormalisierung machen Informationen leichter verfügbar.
  • Einfache Beziehungen. Das Schema funktioniert hervorragend mit Eins-zu-eins- oder Eins-zu-vielen-Beziehungen.
  • Singuläre Dimensionalität . Eine Tabelle beschreibt jede Dimension.
  • OLAP-freundlich . OLAP-Systeme verwenden häufig Sternschemata, um Datenwürfel zu entwerfen.

Nachteile eines Sternschemas

Die Nachteile der Verwendung des Sternschemas sind:

  • Redundanz . Die Dimensionstabellen sind eindimensional, und Datenredundanz ist vorhanden.
  • Geringe Integrität . Aufgrund der Denormalisierung ist das Aktualisieren von Informationen eine komplexe Aufgabe.
  • Eingeschränkte Abfragen . Der Fragenkatalog ist begrenzt, was auch die analytische Aussagekraft einschränkt.

Was ist ein Snowflake-Schema?

Das Schneeflockenschema hat eine verzweigte logische Struktur, die in großen Data Warehouses verwendet wird. Von der Mitte bis zu den Rändern reichen die Entitätsinformationen von allgemein zu spezifischer.

Abgesehen von den gemeinsamen Elementen des Dimensionsmodells zerlegt das Schneeflockenschema Dimensionstabellen weiter in Unterdimensionen.

Das E-Commerce-Verkaufsanalysemodell aus dem vorherigen Beispiel verzweigt ("Schneeflocken") weiter in kleinere Kategorien und Unterkategorien von Interesse.

Die vier Dimensionen zerfallen in Unterdimensionen. Die Nachschlagetabellen normalisieren sich weiter durch eine Reihe verbundener Objekte.

Eigenschaften eines Snowflake-Schemas

Zu den Hauptmerkmalen des Schneeflockenschemas gehören:

  • Kleiner Speicher . Das Snowflake-Schema benötigt nicht so viel Speicherplatz.
  • Hohe Granularität . Das Unterteilen von Tabellen in Unterdimensionen ermöglicht eine Analyse in verschiedenen Interessenstiefen. Das Hinzufügen neuer Unterdimensionen ist ebenfalls ein einfacher Vorgang.
  • Integrität . Aufgrund der Normalisierung weist das Schema eine höhere Datenintegrität und geringe Redundanzen auf.

Nachteile eines Snowflake-Schemas

Die Schwächen des Schneeflockenschemas sind:

  • Komplexität . Das Datenbankmodell ist komplex, ebenso wie die ausgeführten Abfragen. Mehrere multidimensionale Tabellen erschweren die Arbeit mit dem Design insgesamt.
  • Langsame Verarbeitung . Viele Nachschlagetabellen erfordern mehrere JOIN-Vorgänge, was den Informationsabruf verlangsamt.
  • Schwer zu warten . Eine hohe Granularität erschwert die Verwaltung und Wartung des Schemas.

Cent OS
  1. So ändern Sie das Schema von Mssql-Tabellen, gespeicherten Prozeduren und Ansichten gleichzeitig

  2. So finden Sie große Tabellen in der SQL-Datenbank

  3. So ändern Sie Felder in Datenbanktabellen mit phpMyAdmin

  4. So löschen Sie Felder aus Datenbanktabellen mit phpMyAdmin

  5. Laufende Seitentabellen eines Prozesses in Linux

So verbinden Sie Snowflake mit dem SnowSQL-CLI-Client

Erläuterung der rollenbasierten Zugriffskontrolle (Role Based Access Control, RBAC) von Snowflake

Tabellen in einer MySQL-Datenbank auflisten

So installieren Sie den grafischen SSH-Client Muon/Snowflake auf Ubuntu

Wie repariert man eine MySQL-Datenbank?

Wie optimiert man eine MySQL-Datenbank?