Unternehmen verlagern sich zunehmend in Richtung Data Warehouse um die großen Datenmengen, die sie täglich generieren, zu nutzen. Data Warehousing ist die beste Lösung für die Analytik. Allerdings hatten Unternehmen nicht immer diese Möglichkeit. Früh Datenbanken waren in erster Linie für die Transaktionsverarbeitung konzipiert und verfügten nicht über die für analytische Berichte erforderliche Effizienz, was zur Geburt der dimensionalen Modellierung führte.
In den frühen 1990er Jahren war Ralph Kimball eine prominente Figur, wenn es um Data-Warehouse-Ansätze, entwickelte die Prinzipien der dimensionalen Modellierung. Sein 1996 erstmals veröffentlichtes Buch „The Data Warehouse Toolkit“ skizzierte die Konzepte und Best Practices der dimensionalen Modellierung. Kimballs Ansatz konzentrierte sich auf die Modellierung von Daten in einer Weise, die mit Geschäftsprozessen und Benutzeranforderungen übereinstimmt, wobei Einfachheit und Benutzerfreundlichkeit im Vordergrund standen.
In diesem Artikel werden wir uns eingehend mit den Konzepten der Dimension befassen Datenmodellierung und seine Prozesse, Vorteile und Grenzen verstehen.
Was ist ein dimensionales Datenmodell?
Ein dimensionales Datenmodell ist eine Möglichkeit, Daten in einer Datenbank oder einem Data Warehouse zu organisieren und zu strukturieren, um es Unternehmen zu erleichtern, ihre Daten zu analysieren und Erkenntnisse daraus zu gewinnen. Sie sind besonders nützlich, wenn große Datenmengen verarbeitet werden und Benutzer Daten aus verschiedenen Blickwinkeln oder Dimensionen untersuchen müssen.
Unterschiedliche Anwendungen erfordern unterschiedliche dimensionale Modellierungstechniken. Es gibt hauptsächlich zwei Modellierungstechniken: Normalisierte Entity-Relationship-Modelle (ER-Modelle) und dimensionale Modellierung.
Normalisierte Entity-Relationship-Modelle (ER-Modelle) hingegen sind darauf ausgelegt, Datenredundanz zu beseitigen, die Einfüge-, Aktualisierungs- und Löschvorgänge schnell durchzuführen und die Daten in eine Datenbank zu übertragen.
Im Gegensatz dazu sind dimensionale Modelle oder Kimball-dimensionale Datenmodelle denormalisierte Strukturen, die zum Abrufen von Daten aus einem Data Warehouse entwickelt wurden. Sie verwenden Fakten- und Dimensionstabellen, um historische Daten in Data Warehouses aufzuzeichnen. Darüber hinaus sind sie für die Durchführung optimiert Select Betrieb und werden im grundlegenden Design-Framework verwendet, um hochoptimierte und funktionale Data Warehouses zu erstellen.
An der dimensionalen Modellierung beteiligte Elemente
Faktentabellen oder Geschäftskennzahlen
Faktentabellen speichern die numerischen Informationen zu Geschäftsmaßen und Fremdschlüsseln in den Maßtabellen. Geschäftsfakten können additiv, semi-additiv oder nicht-additiv sein. In Tabelle 1 werden die drei Arten von Faktentabellen erläutert.
Art der Fakten | Beschreibung |
Additive Fakten | Geschäftskennzahlen, die über alle Dimensionen hinweg aggregiert werden können |
Halbadditive Fakten | Geschäftskennzahlen, die über einige Dimensionen und nicht über andere hinweg aggregiert werden können (normalerweise Datums- und Zeitdimensionen) |
Nichtadditive Fakten | Geschäftskennzahlen, die in keiner Dimension aggregiert werden können |
Tabelle 1: Arten von Fakten in einer Faktentabelle
Faktentypen erklärt mit einem dimensionalen Datenmodell
Ein Bekleidungsgeschäft verwaltet die folgenden Daten in Faktentabellenzeilen für eine Verkaufstransaktion:
Datum | Speichern | Produkttyp | quantity | Einzelpreis | Verkaufszahlen | Maschinen | Umsatzsteuer |
6/3/2018 | CA | Nylon | 5 | 100 | 500 | 30 | 7.75% |
6/3/2018 | CA | Polyester | 7 | 250 | 1750 | 50 | 7.75% |
6/3/2018 | PA | Nylon | 6 | 100 | 600 | 65 | 6.00% |
6/3/2018 | PA | Polyester | 3 | 250 | 750 | 25 | 6.00% |
6/4/2018 | CA | Nylon | 7 | 100 | 700 | 36 | 7.75% |
6/4/2018 | CA | Polyester | 6 | 250 | 1500 | 17 | 7.75% |
/ 4 / 2018 | PA | Nylon | 9 | 100 | 900 | 14 | 6.00% |
6/4/2018 | PA | Polyester | 10 | 250 | 2500 | 20 | 6.00% |
Tabelle 2: Transaktionstabelle, die von einem Bekleidungsgeschäft geführt wird
Die Spalten mit numerischen Informationen zum Geschäftsprozess sind unsere Geschäftsdaten. In diesem Beispiel quantity, Einzelpreis, Verkaufszahlen, Maschinen und Umsatzsteuer sind Fakten. Und der Rest der Entitäten (Datum, Store und Produkttyp) sind Maße.
Verkaufszahlen können über alle Dimensionen hinzugefügt werden. Es handelt sich also um eine additive Tatsache. Außerdem hinzufügen Maschinen Informationen über die Store dimension bietet nützliche Geschäftsinformationen. Da dies jedoch nur die Momentaufnahme der Warenanzahl zu einem bestimmten Zeitpunkt ist, addieren Sie diese quer Datum Dimension gibt keine hilfreichen geschäftlichen Einblicke. Seit Maschinen ist in einigen Dimensionen additiv und in anderen nicht additiv, es ist eine semi-additive Tatsache. Nun überlegen Sie Umsatzsteuer. Hinzufügen Umsatzsteuer über alle Dimensionen hinweg Probleme bei der analytischen Verarbeitung aufwerfen. Umsatzsteuer ist daher eine nichtadditive Tatsache.
Maßtabellen
Dimensionstabellen speichern beschreibende Informationen zu den Geschäftsdaten, um die Daten besser zu verstehen und zu analysieren. In dem in Tabelle 2 dargestellten Beispiel Datum, Speichern und Produkttyp sind Dimensionseinheiten, die mehr Informationen über die Geschäftsfakten geben. Der Gesamtumsatz ist eine wichtige Kennzahl, die erfasst werden muss, aber ohne die Dimensionen kann ein Unternehmen nicht beurteilen, welcher Geschäftsstandort oder Produkttyp mehr Umsatz bringt.
Abbildung 1: Sternschema mit Fakten- und Dimensionstabellen
Primärschlüssel
Der Primärschlüssel ist eine Spalte in Dimensionstabellen, die eindeutige Datensätze identifiziert. Der Ersatzschlüssel ist der Primärschlüssel für die sich langsam ändernden Dimensionen.
Unbekannter Schlüssel
Fremdschlüssel verknüpfen zwei Tabellen (normalerweise Fakten- und Dimensionstabellen). Der Primärschlüssel in einer Dimensionstabelle ist ein Fremdschlüssel in der zugehörigen Faktentabelle und wird verwendet, um auf diese bestimmte Dimension zu verweisen.
Beispiel für eine dimensionale Datenmodellierung
Betrachten wir ein reales Beispiel der dimensionalen Modellierung für ein Einzelhandelsunternehmen. Stellen Sie sich eine Ladenkette vor, die ihre Verkaufsdaten analysieren möchte, um Erkenntnisse über ihre Leistung zu gewinnen. In diesem Szenario könnte ein dimensionales Datenmodell wie folgt angewendet werden:
- Fakten: Die primären Fakten in diesem Szenario wären Verkaufstransaktionen. Zu diesen Fakten gehören Daten wie:
- Umsatzerlöse
- Menge der verkauften Produkte
- Es gelten Rabatte
- Gewinnmargen
- Abmessungen: Verschiedene Dimensionen würden den Verkaufsdaten Kontext liefern:
- Zeit Dimension: Diese Dimension könnte Attribute wie Jahr, Quartal, Monat, Tag und sogar Tageszeit umfassen. Es könnte beispielsweise dabei helfen, Fragen zu beantworten wie: „Wie hoch waren unsere Umsätze in den einzelnen Quartalen des letzten Jahres?“
- Produkt-Maß: Es könnte die in den Geschäften verkauften Produkte beschreiben. Es kann Attribute wie Produktkategorie, Marke und Produktname enthalten. Es könnte beispielsweise dabei helfen, Fragen zu beantworten wie: „Welche Produktkategorie hat den meisten Umsatz generiert?“
- Dimension speichern: Diese könnte Informationen über die einzelnen Filialstandorte enthalten, wie zum Beispiel den Filialnamen, die Stadt, das Bundesland und den Filialleiter. Es könnte Fragen beantworten wie: „Welches Geschäft hatte letzten Monat die höchsten Verkäufe?“
- Kundendimension: Es könnte Einblicke in Kundendemografien wie Alter, Geschlecht und Standort liefern. Es könnte hilfreich sein, Fragen zu beantworten wie: „Wie hoch ist der durchschnittliche Kaufbetrag pro Kundensegment?“
- Beziehungen zwischen Fakten und Dimensionen: Die Faktentabelle, die die Verkaufstransaktionen enthält, hätte Fremdschlüssel, die sie mit den Dimensionstabellen verknüpfen. Beispielsweise könnte jeder Verkaufstransaktionsdatensatz Fremdschlüssel haben, die auf die entsprechende Zeit, das Produkt, das Geschäft und den Kunden in den jeweiligen Dimensionstabellen verweisen.
- Hierarchien: Hierarchien innerhalb von Dimensionen würden Benutzern helfen, Daten auf verschiedenen Granularitätsebenen zu navigieren und zu analysieren. Beispielsweise könnte die Zeitdimension eine Hierarchie haben, die von Jahr zu Quartal, von Monat zu Tag reicht.
- Maßnahmen: Aus den Verkaufsfakten würden Maßnahmen berechnet, um wertvolle Erkenntnisse zu liefern. Zum Beispiel:
- Gesamtumsatz
- Durchschnittlicher Rabattprozentsatz
- Prozentsatz der Gewinnspanne
Mit diesem dimensionalen Datenmodell könnte das Einzelhandelsunternehmen damit eine Vielzahl von Fragen beantworten, wie zum Beispiel:
- „Wie hoch war unser Gesamtumsatz für jede Produktkategorie im letzten Quartal?“
- „Welche Filiale verzeichnete im Vergleich zum Vorjahreszeitraum das höchste Umsatzwachstum?“
- „Wie hoch ist die durchschnittliche Gewinnspanne für Produkte in jeder Produktkategorie?“
Entwerfen eines dimensionalen Datenmodells
Den Prozess von verstehen dimensionale Modelle entwerfenBetrachten wir das Beispiel einer Bekleidungslinie, die zwei Arten von Windbreakern verkauft - Nylon und Polyester in ihren beiden Geschäften in Kalifornien und Pennsylvania. Die Beispieldaten für das Beispiel sind in Tabelle 2 gezeigt.
Schritt 1: Identifizieren Sie die Geschäftsprozesse
Bevor Sie die Daten modellieren, sollten Sie die Typen der dimensionalen Modellierung finden, die für Ihr Datenmodell geeignet sind. Der dimensionale Modellierungsprozess (oder jede Datenmodellierung) beginnt mit der Identifizierung des Geschäftsprozesses, den Sie verfolgen möchten. In diesem Fall möchten wir die Verkäufe für die beiden Arten von Windjacken verfolgen.
Schritt 2: Identifizieren Sie Fakten und Dimensionen in Ihrem Dimensionsdatenmodell
Die Informationen in einem Dimensionsmodell werden in zwei Tabellentypen kategorisiert – Fakten und Abmessungen. Der nächste Schritt besteht darin, die zu messenden Geschäftsfakten und die zugehörigen Dimensionen zu identifizieren. In unserem Beispiel ist der Windjackenverkauf die Tatsache, die wir messen möchten. Datum, Geschäftsstandort (Kalifornien und Pennsylvania) und Produkttyp (Nylon-Windjacken und Polyester-Windjacken) sind die Dimensionen, die uns weitere Einblicke in den Verkaufsprozess geben.
Schritt 3: Identifizieren Sie die Attribute für Dimensionen
Nachdem Sie die Dimensionen und Fakten für Ihren Geschäftsprozess identifiziert haben, besteht der nächste Schritt darin, Attribute zu identifizieren und eine separate Dimensionstabelle für jede Dimension zu erstellen. Für jeden Datentyp gibt es verschiedene Arten von Dimensionstabellen. Jeder Datensatz in der Dimensionstabelle sollte einen eindeutigen Schlüssel haben. Dieser Schlüssel wird zum Identifizieren der Datensätze in der Dimensionstabelle und als Fremdschlüssel in der Faktentabelle verwendet, um auf die bestimmte Dimension zu verweisen und sie mit der Faktentabelle zu verknüpfen. Die Tabellen 3–5 zeigen die verschiedenen Arten von Dimensionen in einem Data Warehouse in unserem Beispiel für eine Bekleidungslinie.
Datumsmaß |
Datumsschlüssel | Datum | Tag |
10201 | 6/3/2018 | Sonntag |
10202 | 6/4/2018 | Montag |
Tabelle 3: Dimensionstabelle für Datum
Dimension speichern |
Schlüssel speichern | Name deines Geschäfts | Ort | Staat |
151 | AngAngies Sparel | Los Angeles | Kalifornien
|
152 | AngAngies Sparel | Pittsburgh | Pennsylvania |
Tabelle 4: Dimensionstabelle für Store
Produkt-Maß |
Produktcode | Kollektion | Werkstoff | Farbe |
131620 | Windbreaker - Herbstkollektion | Nylon | Orange |
131571 | Windbreaker - Herbstkollektion | Polyester | Schwarz |
Tabelle 5: Maßtabelle für Produkt
Schritt 4: Definieren Sie die Granularität für Geschäftsdaten
Granularität bezieht sich auf die Informationsebene, die in einer Tabelle gespeichert ist. In unserem Beispiel wird beispielsweise der Verkaufsbetrag täglich erfasst; Daher ist die Granularität in diesem Fall täglich. Die Faktentabellen in einem dimensionalen Modell sollten mit der vordefinierten Granularität konsistent sein.
Schritt 5: Speichern historischer Informationen (sich langsam ändernde Dimensionen)
Ein wichtiges Merkmal von Dimensionsmodellen ist, dass die Dimensionsattribute leicht geändert werden können, ohne die vollständigen Transaktionsinformationen zu ändern. Zum Beispiel beschließt die Bekleidungslinie, die Nylon-Windjacke aus der Herbstkollektion in die Frühlingskollektion aufzunehmen, und aktualisiert den Namen in der Kollektion Attribut. Das Update ist in der Maßtabelle einfach durchzuführen, aber wir verlieren mit dem Update unsere vorherigen Daten. Wenn das Ziel Ihrer Datenmodellierung und Ihres Data Warehouse darin besteht, den Verlauf zu pflegen und zu speichern, könnte dies ein Problem darstellen. Dimensionen, die sich im Laufe der Zeit langsam ändern, werden als sich langsam ändernde Dimensionen bezeichnet. Darüber hinaus wird die Zeitdimensionstabelle in einem Data Warehouse automatisch generiert und erfasst die Zeit, zu der verschiedene Transaktionen stattfinden. Sie können Verlaufsdaten verwalten und speichern, indem Sie sich langsam ändernde Dimensionen verfolgen.
Erfahren Sie mehr über den Entwurf einer automatisierten Dimensionsmodellierung mit unserer Schritt-für-Schritt-Anleitung
Was ist ein mehrdimensionales Datenmodell im Data Warehouse?
Ein mehrdimensionales Datenmodell ist eine spezifische Implementierung der dimensionalen Datenmodellierung, die auf fortgeschrittenere Analyse- und Berichtsanforderungen zugeschnitten ist. Es erweitert die Konzepte der regulären dimensionalen Datenmodellierung, um zusätzliche Funktionen bereitzustellen. Hier sind einige wichtige Faktoren, die Sie beim dimensionalen Datenmodell beachten sollten:
- Durch die Einführung des Konzepts von Datenwürfeln wird die Komplexität erhöht. Datenwürfel speichern voraggregierte Daten, was zu einer komplexeren, aber effizienteren Struktur für mehrdimensionale Analysen führen kann.
- Es ist weiterhin benutzerfreundlich, bietet Benutzern jedoch noch mehr Möglichkeiten zur Interaktion mit Daten mithilfe von OLAP-Tools. Benutzer können Daten aus mehreren Dimensionen gleichzeitig schwenken, aufschlüsseln und analysieren.
- Dabei handelt es sich häufig um denormalisierte Dimensionstabellen und voraggregierte Daten in Datenwürfeln. Dies erhöht zwar den Speicherbedarf für die aggregierten Daten, kann jedoch die Redundanz in Dimensionstabellen verringern und so zu einer effizienteren Speicherung führen.
- Es eignet sich ideal für erweiterte Analysen, komplexe Berichte und Szenarien, in denen die Leistung von entscheidender Bedeutung ist, z. B. große Data Warehouses mit umfangreichen historischen Daten.
Vorteile der Dimensionsmodellierung
Die dimensionale Modellierung ist aufgrund ihrer Vorteile immer noch die am häufigsten verwendete Datenmodellierungstechnik für den Entwurf von Unternehmens-Data-Warehouses. Diese beinhalten:
Optimiert für die Abfrageleistung: Dimensionsmodelle sind speziell für Abfragen und Berichte konzipiert, was zu einer schnelleren Abfrageleistung führt, insbesondere bei komplexen analytischen Abfragen.
Schnellerer Datenabruf: Bei der dimensionalen Datenmodellierung werden die Tabellen im Modell selbst zusammengeführt, sodass Benutzer Daten schneller aus verschiedenen Datenquellen abrufen können, indem sie Verknüpfungsabfragen ausführen. Das denormalisierte Schema eines Data Warehouse für dimensionale Modelle ist anstelle des normalisierten Schemas im Snowflake-Schema für die Ausführung von Ad-hoc-Abfragen optimiert. Infolgedessen ergänzt es die Business Intelligence (BI)-Ziele eines Unternehmens in hohem Maße.
Flflexibel gegenüber Veränderungen: Ein dimensionales Modellierungsframework macht den Data Warehousing-Prozess erweiterbar. Das Design kann leicht geändert werden, um neue Geschäftsanforderungen zu berücksichtigen oder das zentrale Repository anzupassen. Dem Modell können neue Entitäten hinzugefügt oder das Layout vorhandener Entitäten geändert werden, um geänderte Geschäftsprozesse widerzuspiegeln.
Mehrdimensionale Analyse: Dimensionsmodelle unterstützen mehrdimensionale Analysen, sodass Benutzer Daten aus verschiedenen Dimensionen und Hierarchien gleichzeitig untersuchen können.
Reduzierte Datenredundanz: Dimensionsmodelle beinhalten häufig eine Denormalisierung, die die Datenredundanz reduziert und folglich die Abfrageleistung im Vergleich zu stark normalisierten Modellen verbessert.
Einschränkungen der Dimensionsmodellierung
Obwohl die dimensionale Modellierung eine leistungsstarke Technik für Analyse- und Berichtsanforderungen ist, weist sie auch einige Einschränkungen auf und es gibt Szenarien, in denen sie möglicherweise nicht der am besten geeignete Ansatz ist. Daher ist es wichtig zu bewerten, ob es mit den Merkmalen und Anforderungen Ihrer Daten und Anwendungsfälle übereinstimmt. Hier sind einige Einschränkungen der dimensionalen Modellierung und Situationen, in denen Sie alternative Modellierungstechniken in Betracht ziehen könnten:
- Komplexe Beziehungen: Die dimensionale Modellierung geht davon aus, dass die Beziehungen zwischen Dimensionen und Fakten relativ einfach sind. Wenn Ihre Daten hochkomplexe Beziehungen beinhalten, die nicht einfach in einem Stern- oder Schneeflockenschema dargestellt werden können, ist die dimensionale Modellierung möglicherweise nicht die beste Wahl.
- Häufige Datenänderungen: Dimensionsmodelle sind für die historische Analyse konzipiert und verarbeiten Daten, die sich häufig ändern oder Echtzeitaktualisierungen erfordern, möglicherweise nicht gut. In solchen Fällen ist möglicherweise ein transaktionales oder normalisiertes Modell geeigneter.
- Spärliche Daten: Wenn Sie mit Daten arbeiten, bei denen viele Kombinationen von Dimensionen keine zugehörigen Fakten haben (spärliche Daten), können Dimensionsmodelle zu einer ineffizienten Speicherung und Abfrageleistung führen.
- Große und unstrukturierte Daten: Wenn Ihre Daten große Mengen unstrukturierter oder halbstrukturierter Daten enthalten (z. B. Textdokumente, Social-Media-Feeds), reicht die dimensionale Modellierung allein möglicherweise nicht aus. Möglicherweise müssen Sie Techniken wie NoSQL-Datenbanken oder dokumentenorientierte Datenbanken integrieren.
Automatisierung – ein Game Changer für die dimensionale Modellierung
Das Entwerfen von Dimensionsmodellen ist ein wesentlicher Schritt beim Aufbau des Frameworks eines Enterprise Data Warehouse. Der Prozess kann mit Hilfe eines robusten Data-Warehouse-Automatisierungstools wie z Astera Data Warehouse Builder.
Mit Astera DW-Builderkönnen Sie schnell dimensionale Modelle in einer visuellen, codefreien integrierten Entwicklungsumgebung erstellen. Entitäten können mit einfachem Drag-and-Drop und Merges denormalisiert werden. Entitätsrollen (Fakten und Dimensionen) können in großen Mengen zugewiesen werden, wodurch Sie wertvolle Zeit sparen, wenn Sie mit Hunderten von Entitäten arbeiten. Darüber hinaus ermöglicht Ihnen das Produkt, sich langsam ändernde Dimensionen mit integrierter Unterstützung für die SCD-Typen 1, 2, 3 und 6 zu verwalten.
Astera DW Builder ist eine End-to-End-Data-Warehouse-Automatisierungsplattform mit integrierten dimensionalen Datenmodellierungsfunktionen, Unterstützung für eine breite Palette von Datenbanken und CRM-Anwendungen, automatisierten Datenzuordnungs- und Datenladefunktionen und nativer Integration mit Business-Intelligence-Plattformen wie z Tableau und Power BI.
Weitere Informationen finden Sie auch in den Astera DW Builder Demo oder melde dich an für a die kostenlose Testversion. um die Leistungsfähigkeit der Data-Warehouse-Automatisierung aus erster Hand zu erleben.
Autoren:
- Iqbal Ahmed