Data Warehousing ist ein System zum Speichern und Organisieren von Daten in zentralen Repositories, einschließlich Daten aus anderen Quellen. Es ist ein Kernkonzept von Business Intelligence in relationalen Datenbankmodellen, bei dem Geschäftsdaten in analytische Verfahren in eine zentrale Datenbank integriert werden.
In Data Warehousing werden zwei gängige Architekturmodelle verwendet:
Beides sind die üblichen mehrdimensionalen Datenbankmodelle, die verwendet werden, um die Anforderungen großer Datenbanken zu Analysezwecken in realen Data Warehouses zu erfüllen.
Wir bieten einen unparteiischen Vergleich zwischen den beiden an, um besser zu verstehen, welche besser ist als die andere.
Es ist das am weitesten verbreitete und allgemein akzeptierte Architekturmodell, das zur Entwicklung von Data Warehouses und Data Marts verwendet wird, in denen die Daten in Fakten und Dimensionen organisiert sind. Es ist das einfachste Architekturmodell, in dem eine Faktentabelle verwendet wird, um auf mehrere Dimensionstabellen zu verweisen, die ein Sternmuster imitieren.
Wie der Name vermuten lässt, ähnelt das Diagramm einem Stern mit der Faktentabelle in der Mitte und mehreren Dimensionstabellen, die von ihm ausgehen, wodurch ein sternförmiges Muster entsteht.
Es wird auch als Star Join-Schema bezeichnet und speichert alle Attribute einer Dimension in einer denormalisierten Faktentabelle, um schnell durch große mehrdimensionale Datensätze zu navigieren, was schnelle Antwortzeiten für Abfragen bedeutet.
Es ist eine Erweiterung des Sternschemas mit zusätzlichen Funktionalitäten. Im Gegensatz zum Sternschema werden die Dimensionstabellen im Schneeflockenschema in mehrere zusammengehörige Tabellen normiert.
Das Architekturmodell stellt eine logische Anordnung von Tabellen in einer Viel-zu-Eins-Beziehungshierarchie dar, in der mehrere Dimensionstabellen zu Sub-Dimensionstabellen normalisiert werden, die einem schneeflockenartigen Muster ähneln, daher der Name.
Dies ist eine komplexere Version des Sternschemas mit mehr Verknüpfungen zwischen Dimensionstabellen, die eine langsame Verarbeitungszeit für den Abruf von Daten ausmachen, was langsame Abfrageantwortzeiten bedeutet. Dadurch wird die Datenredundanz minimiert, was wiederum die Abfrageleistung verbessert.
In relationalen Datenbanken ist das Sternschema das einfachste Architekturmodell für die Entwicklung von Data Warehouses und multidimensionalen Data Marts. Wie der Name vermuten lässt, ähnelt das Modell einem Stern mit Punkten, die von der Mitte aus strahlen. Dies bedeutet, dass die Faktentabelle die Mitte und die Punkte die Maßtabellen sind. Wie andere Dimensionsmodelle bestehen sie aus Daten in Form von Fakten und Dimensionen. Das Schneeflockenschema dagegen ist das komplexere Architekturmodell, das auf eine mehrdimensionale Datenbank mit einer logischen Anordnung von Tabellen in Form einer Schneeflocke verweist.
Das Schneeflockenschema ist dem Sternschema ziemlich ähnlich, mit der Ausnahme, dass es mehrere Dimensionstabellen haben kann, die weiter in mehrere zusammengehörige Tabellen normiert werden, die als Subdimensionentabellen bezeichnet werden. Es repräsentiert mehrere Ebenen von Beziehungen, die sich in ein Schneeflockenmuster verzweigen. Das Sternschema speichert jedoch alle zugehörigen Attribute einer Dimension in einer denormalisierten Dimensionstabelle, wodurch es einfacher wird, einfachere Abfragen zu verstehen und zu bearbeiten.
Eine Dimensionstabelle darf in relationalen Datenbankmodellen keine doppelten Zeilen enthalten, da sie beim Abrufen mehrdeutig sein könnte. Jede Tabelle sollte eine Spalte oder eine Kombination von Spalten haben, die als Primärschlüssel bezeichnet wird und alle Tabellendatensätze eindeutig identifiziert. Ein Fremdschlüssel ist eine Spalte oder eine Gruppe von Spalten, die eine Verknüpfung zwischen zwei Tabellen bereitstellt. Im Sternschema hat jede Dimensionstabelle einen Primärschlüssel, der sich auf einen Fremdschlüssel in der Faktentabelle bezieht. Die Geschäftshierarchie in einem Schneeflockenschema wird durch eine Primärschlüssel- / Fremdschlüsselbeziehung zwischen Dimensionstabellen dargestellt.
Der Hauptunterschied zwischen den beiden relationalen Datenbankmodellen ist die Normalisierung. Die Dimensionstabellen im Sternschema werden nicht normalisiert. Dies bedeutet, dass das Geschäftsmodell relativ mehr Speicherplatz zum Speichern von Dimensionstabellen benötigt, und mehr Speicherplatz bedeutet mehr redundante Datensätze, die letztendlich zu Inkonsistenzen führen würden. Das Snowflake-Schema minimiert dagegen die Datenredundanz, da Dimensionstabellen normalisiert werden, wodurch weit weniger redundante Datensätze berücksichtigt werden. Die Geschäftshierarchie und ihre Dimensionen werden durch referenzielle Integrität beibehalten, dh Beziehungen können in Data Warehouses unabhängig aktualisiert werden.
Das Sternschema hat weniger Verknüpfungen zwischen Dimensionstabelle und Faktentabelle im Vergleich zu dem des Schneeflockenschemas, das mehrere Verknüpfungen aufweist, wodurch weniger Abfragekomplexität entsteht. Da die Dimensionen in einem Sternschema über eine zentrale Faktentabelle verknüpft sind, verfügt sie über eindeutige Verknüpfungspfade. Dies bedeutet schnelle Antwortzeiten für Abfragen und schnelle Antwortzeiten für eine bessere Leistung. Das Snowflake-Schema hat eine höhere Anzahl von Joins, dh längere Antwortzeiten für Abfragen, was zu komplexeren Abfragen führt, die letztendlich die Leistung beeinträchtigen.
Beide sind die am häufigsten verwendeten und am weitesten verbreiteten Architekturmodelle, die zur Entwicklung von Datenbanklagern und Data Marts verwendet werden. Jedes Geschäftsmodell hat jedoch einen angemessenen Anteil an Vor- und Nachteilen. Während das Sternschema das einfachste multidimensionale Modell ist, das zum Organisieren von Daten in Fakten und Dimensionen verwendet wird, ist es ideal für die Entwicklung von Data Marts mit weniger komplexen Beziehungen. Das Snowflake-Schema ist eine logische Darstellung von Tabellen in einer mehrdimensionalen Datenbank, in der die Dimensionen in Subdimensionstabellen gespeichert werden. Der Hauptunterschied zwischen den beiden ist die Normalisierung. Die Dimensionstabellen in einem Schneeflockeschema werden vollständig in mehrere Nachschlagetabellen normalisiert, wohingegen in einem Sternschema die Dimensionstabellen in einer zentralen Faktentabelle denormalisiert werden.