Star-Schema
Ein Star-Schema ist eine Datenbank, die für analytisch orientierte Anwendungen wie Data Warehouses und dimensionalen Data Marts konzipiert ist. Der Entwurf umfasst eine oder mehrere Faktentabellen mit messbaren Daten, die mit mehreren Dimensionstabellen verbunden sind, die beschreibende Daten enthalten.
Warum ist das Star-Schema wichtig?
Entscheidungsunterstützende Datenbankanwendungen erfordern ein flexibles Design, das die gängigsten Abfragen unterstützt. Herkömmliche normalisierte Schemata erfordern mehr Tabellenverknüpfungen, die mehr Ressourcen verbrauchen und langsamer sind. Durch die Speicherung aller messbaren Fakten über eine Entität in einer einzigen Tabelle können die meisten der für eine analytische abfragen erforderlichen Attribute aus einer einzigen Tabelle mit optionalen Joins zu Dimensionstabellen stammen. Die Effizienz wird durch die Anwendung von Filterprädikaten auf die Faktentabelle erhöht, so dass nur eine Teilmenge der Daten in die Verknüpfungen einbezogen wird und folglich weniger CPU und Speicherressourcen verbraucht werden.
Wenn das Unternehmen Online-Analytics-Processing-Würfel (OLAP-Würfel) verwendet, lässt sich das Star-Schema effektiv auf Abfragen abbilden, die den Würfel auffüllen.
Die Ursprünge des Star-Schema
Frühe Data Warehouses waren einfach Kopien von Transaktionsdatenbankschemata mit zusätzlichen Indizes zur Unterstützung analytischer Abfragen. Als Data-Warehouse-Architekten wie Ralph Kimball in den 1990er Jahren die Idee des dimensionalen Schemas entwickelten, um analytische Abfragen zu vereinfachen.
Star-Schema Beispiel
Als Einzelhändler würden Sie sich dafür interessieren, welche Produkte verkauft werden, wer sie kauft und wann. Um diese Fragen zu beantworten, ist eine Faktentabelle erforderlich, die mit den Dimensionen Produkte, Bestellungen und Kunden verknüpft ist. Im Folgenden werden einige typische Attribute dieser Tabellen beschrieben:
- FACT Tabe:
- Produkt-ID - verweist auf die Tabelle der Produktabmessungen
- Auftrags-ID - verweist auf die Tabelle Dimension
- Kunden-ID - Verknüpfung zur Tabelle Kunde
- Gesamtumsatz - Maßnahme
- Verkaufte Einheiten - Maßnahme
- DIMENSION Tabelle Aufträge enthält:
- Produkt-ID
- Details zur Bestellung
- DIMENSION Tabelle Kunden enthält:
- Kunden-ID
- Details zum Kunden
Der Nachteil des Star-Schema gegenüber der dritten Normalform
Ein vollständig normalisiertes Datenbankschema hat weniger doppelte Felder als ein Star-Schema , erfordert aber aufgrund der größeren Anzahl von Tabellen tendenziell komplexere Abfragen. Ein Third Normal Form-Datenbankschema benötigt weniger Speicherplatz, da es weniger Redundanzen aufweist. Beim Star-Schema dauert das Laden der Daten oft länger, da mehr Daten dupliziert werden und zusätzliche Indexspalten für Fremdschlüssel erforderlich sind.
Der Vorteil der Verwendung einer spaltenförmigen Datenbank mit einem Star-Schema
Eine spaltenorientierte Datenbank speichert die Datensätze einer relationalen Tabelle als Spalten, im Gegensatz zu einem traditionellen relationalen Datenbanksystem, das eine Tabellenzeile als eine einzelne Aufzeichnung speichert. Im Falle eines Star-Schema kann die Faktentabelle ziemlich umfangreich werden, wenn die Anzahl und Länge der Attribute über die Entität wächst. Die meisten Abfragen benötigen nur eine Handvoll von Attributfeldern aus der Faktentabelle. Der spaltenbasierte Ansatz greift nur auf diese wenigen Spalten zu, im Gegensatz zu einer zeilenbasierten Datenbank, bei der die gesamte Zeile in den Speicher geladen werden muss, bevor sie nach den erforderlichen Spaltenwerten durchsucht werden kann. Da die gesamte Zeile in der Regel wesentlich länger ist als die ausgewählten Spalten, ist der Speicherbedarf viel größer, was in der Regel zu langsameren Abfragen führt. Die spaltenorientierte Datenbank verfügt über einen eingebauten Primärschlüsselindex, der in der Regel die Sortierreihenfolge der Tabelle angibt, wodurch weiterer wertvoller Cache- und RAM-Speicherplatz eingespart wird. Unterm Strich ist die spaltenförmige Datenbankstruktur eine gute Ergänzung zum Star-Schema .
Actian Vector bietet Schema-Flexibilität
Die spaltenbasierte Vector-Datenbank kann für den Einsatz eines Star-Schema für Benchmark-Workloads wie TPC-D verwendet werden. Dies ist jedoch keine Voraussetzung, da Sie sich auch für ein denormalisiertes Schema mit allen Spalten in einer einzigen breiten Tabelle entscheiden können. Durch die Kombination von spaltenbasiertem Zugriff und Min-Max-Indizes können Abfragen gegen eine einzige große denormalisierte Tabelle für einige Arbeitslasten sehr effizient sein. Vector führt Abfragen immer noch schneller aus als herkömmliche Datenbanken, die einen Zeilenspeicher verwenden, unabhängig davon, ob Sie ein Star-Schema, ein Snowflake-Schema, ein normalisiertes oder ein denormalisiertes Schema wählen.
FAQ
Ein Star-Schema ein Datenbankdesign für Analyseanwendungen, das aus einer oder mehreren Faktentabellen mit messbaren Daten besteht, die von Dimensionstabellen mit beschreibenden Daten umgeben sind, wodurch eine sternförmige Struktur entsteht.
Die Hauptkomponenten sind Faktentabellen, in denen messbare Daten (wie Gesamtumsatz und verkaufte Einheiten) gespeichert werden, sowie Dimensionstabellen, die beschreibende Kontextinformationen (wie Produktdetails, Kundeninformationen und Bestelldaten) liefern; diese sind über Fremdschlüssel miteinander verknüpft.
Ein Star-Schema mehr doppelte Felder Star-Schema und benötigt mehr Speicherplatz, ermöglicht jedoch einfachere und schnellere Abfragen, während die dritte Normalform vollständig normalisiert ist und weniger Redundanzen aufweist, jedoch aufgrund der erhöhten Anzahl von Tabellenverknüpfungen komplexere Abfragen erfordert.
Star-Schema ermöglicht flexible und effiziente analytische Abfragen, indem alle messbaren Fakten in einer einzigen Tabelle gespeichert werden. Dadurch wird die Anzahl der erforderlichen Tabellenverknüpfungen reduziert und es werden im Vergleich zu herkömmlichen normalisierten Schemata weniger CPU Speicherressourcen beansprucht.
Ein Star-Schema für den Einzelhandel Star-Schema eine Faktentabelle enthalten, in der der Gesamtumsatz und die verkauften Stückzahlen erfasst werden, verknüpft mit Dimensionstabellen für Produkte (Produktdetails), Bestellungen (Bestelldetails) und Kunden (Kundendaten), um zu analysieren, welche Produkte sich verkaufen, wer sie kauft und wann.
Der Data-Warehouse-Architekt Ralph Kimball entwickelte in den 1990er Jahren das Konzept des dimensionalen Schemas, um analytische Abfragen zu vereinfachen.
Spaltenorientierte Datenbanken ergänzen Sternschemata, indem sie nur auf die benötigten Spalten zugreifen, anstatt ganze Zeilen in den Arbeitsspeicher zu laden. Dies führt zu einem geringeren Speicherbedarf, schnelleren Abfragen und einer effizienteren Nutzung von Cache und RAM.
Nein, Actian Vector bietet Schemaflexibilität und kann Star-Schema, Snowflake-Schema-, normalisierte oder sogar vollständig denormalisierte Ein-Tabellen-Designs effizient verarbeiten, während es gleichzeitig abfragen schnellere abfragen liefert als herkömmliche Row-Store-Datenbanken.