Blogs

Home / Blogs / Modernisieren Sie Ihre Datenarchitektur mit einem Best-Practices-Ansatz für die dimensionale Datenmodellierung

Inhaltsverzeichnis
Die automatisierte, Kein Code Datenstapel

Erfahren Sie, wie Astera Data Stack kann die Datenverwaltung Ihres Unternehmens vereinfachen und rationalisieren.

Modernisieren Sie Ihre Datenarchitektur mit einem Best-Practice-Ansatz für die dimensionale Datenmodellierung

25. Juli 2022

Die dimensionale Datenmodellierung ist seit Jahrzehnten die Grundlage für ein effektives Data Warehouse-Design. Die Methodik von Kimball verspricht eine optimierte Abfrageleistung und eine optimierte Struktur, die von Stakeholdern auf allen Ebenen des Unternehmens leicht verständlich ist. Lesen Sie weiter, um zu erfahren, wie unser automatisierter Ansatz Ihnen hilft, dieses Schema für maximale Effektivität in Ihrem Data Warehouse zu implementieren.

Um eine wirklich moderne Analysearchitektur aufzubauen, die fortschrittliche Techniken wie maschinelles Lernen, prädiktive Analysen, Prognosen und Datenvisualisierungen ermöglicht, müssen Sie dimensionale Datenmodellierung in Ihrem Data Warehouse implementieren. Es gibt ein paar Häkchen, die ein BI-System treffen muss, bevor es sich qualifizieren kann.

Erstens muss es in der Lage sein, große Datenmengen aus unterschiedlichen Transaktionsquellen zu sammeln und zu verarbeiten. Zweitens sollte es sowohl aktuelle als auch historische Aufzeichnungen verarbeiten. Drittens sollte es eine Reihe komplexer, sich ständig ändernder Abfragevorgänge unterstützen. Schließlich muss es aktuelle, relevante Daten für Ihre Endbenutzer produzieren.

Der Schlüssel zur Erfüllung dieser Erwartungen liegt in der Entwurfsphase während der Datenmodellierung. Die Entscheidungen, die Sie hier treffen, wirken sich direkt auf die Agilität, Leistung und Skalierbarkeit Ihres Data Warehouse aus.

Aber warum dimensionale Datenmodellierung?

Umriss eines Sternschemas

Das klassische Sternschema

 

Angenommen, Sie entscheiden sich für ein 3NF-Schema, das die Datenredundanz durch Normalisierung minimiert. Die Anzahl der Tabellenspeicher wird erheblich zunehmen. Dies bedeutet, dass jede Abfrage, die für ein 3NF-Schema ausgeführt wird, viele komplexe Joins beinhalten würde.

Im Vergleich, dimensionale Modellierung Techniken bieten eine optimierte, denormalisierte Struktur, die weit weniger Joins erzeugt und somit die Abfrageleistung verbessert. Auch dimensionale Datenmodelle werden unterstützt langsam ändernde Daten und datums-/zeitspezifische Dimensionen, die beide eine historische Analyse erleichtern. Dieses Schema ist für Endbenutzer leichter zu verstehen, sodass sie mit ihrem Entwicklungsteam unter Verwendung einer gemeinsamen Sprache zusammenarbeiten können. Dadurch wird es viel einfacher, ein Data Warehouse um die tatsächlichen Geschäftsprozesse herum aufzubauen und das Datenmodell so zu entwickeln, dass es die sich ständig ändernden Anforderungen Ihres Unternehmens berücksichtigt.

Sehen wir uns einige kritische Faktoren an, die Ihre dimensionalen Modelle zu einem wichtigen Treiber für Ihre Data Warehouse-Entwicklung machen.

Achten Sie auf das Getreide

Achten Sie beim Erstellen eines dimensionalen Datenmodells auf die Maserung

Es ist wichtig, das richtige Getreide für Ihre Faktentabelle zu finden (Hinweis: Weizen funktioniert nicht)

Es ist wichtig, das richtige Getreide für Ihre Faktentabellenzeile zu finden (Hinweis: Weizen funktioniert nicht)

In der Regel möchten Sie in Ihrem Unternehmen individuelle Dimensionsmodelle für verschiedene Betriebsbereiche erstellen. Jeder dieser Prozesse hat eine definierte Körnung; Dies ist die Detailebene, mit der Daten in Faktentabellen und zugehörigen Dimensionen gespeichert werden. Es ist wichtig, eine konsistente Körnung in dimensionalen Datenmodellen beizubehalten, um die beste Leistung und Benutzerfreundlichkeit während der Verbrauchsphase zu gewährleisten. Andernfalls kann es zu falsch berechneten Berichten und Analysen kommen.

Nehmen wir als hervorragendes Beispiel an, Sie entwerfen ein dimensionales Datenmodell für Ihren Vertriebsprozess. Sie haben zwei verschiedene Quellen, in denen Daten aufgezeichnet werden, eine verfolgt Inlandsrechnungen pro Transaktion und die andere verfolgt weltweit pro Monat generierte Aufträge. Eine Tabelle eignet sich viel besser für das spätere Slicing und Dicing von Daten, während letztere im Wesentlichen eine zusammenfassende Ansicht des Verkaufsprozesses bietet, die nur für die Berichterstellung und Business Intelligence auf hoher Ebene nützlich ist.

Wenn sich Daten auf verschiedene Geschäftsprozesse beziehen, können Sie im Allgemeinen davon ausgehen, dass mehrere Modelle erstellt werden müssen. Sie müssen also in der Lage sein, diese Schemas basierend auf den im Quellsystem identifizierten Entitätsbeziehungen genau zu entwickeln. Fakten und Dimensionstabellen sollten auf der entsprechenden Detailebene korrekt zugeordnet werden.

Durch den Wechsel zu a Prozessdefinierung mit dem Sie die anfängliche Schemamodellierung automatisieren können, können Sie sicherstellen, dass diese grundlegenden Konzepte korrekt auf Ihr Schema angewendet werden. Von dort aus können Sie es besser an Ihre BI-Anforderungen anpassen. Noch wichtiger ist, dass Sie Ihre Modelle problemlos aktualisieren können, um Änderungen im Quellsystem oder Endbenutzeranforderungen widerzuspiegeln, und diese Änderungen dann ohne umfangreiche manuelle Nacharbeiten über Ihre Datenpipelines verteilen.

Ein weiteres wichtiges Detail, um Ihren Ansatz richtig zu machen, besteht darin, sicherzustellen, dass Ihr dimensionaler Modellierungsansatz Datumsdimensionstabellen enthält. Diese Tabellen bieten verschiedene Arten von datumsspezifischen Messungen wie täglich, monatlich, jährlich, Geschäftsquartale oder Feiertage. Letztendlich wird dies den Endbenutzern helfen, ihre Daten während der Verbrauchsphase effizienter zu filtern und zu gruppieren.

Verarbeiten Sie automatisch Ihre sich langsam ändernden Daten

Historische Aufzeichnungen anhand eines Beispiels erklären

Diese historischen Aufzeichnungen können sich als nützlich erweisen (https://xkcd.com/2075/)

Geschäftsprozesse befinden sich in einem ständigen Wandel. Mitarbeiter treten der Organisation bei, werden befördert und gehen schließlich in den Ruhestand. Kunden ziehen an eine neue Adresse um oder ändern ihre Kontaktdaten. Teilweise werden ganze Abteilungen übernommen, umbenannt oder umstrukturiert. Daher müssen Sie sicherstellen, dass Ihr Dimensionsmodell diese dynamische Umgebung genau widerspiegeln kann.

Durch Anwenden der richtige SCD-Handhabungstechnik in Ihre dimensionalen Datenmodelle können Sie Änderungen an Datensätzen im Quellsystem berücksichtigen und bei Bedarf historische Daten für weitere Analysen aufbewahren. Nun stehen je nach Ihren Anforderungen mehrere SCD-Typen zur Verfügung. Die Techniken reichen von SCD Typ 1 zum Überschreiben vergangener Werte bis SCD Typ 3, der den aktuellen Datensatz aktualisiert, während ein neues Feld hinzugefügt wird, um den vorherigen Wert für das Attribut anzuzeigen.

Die Dimensionstabelle kann auch zusätzliche Felder enthalten, die das Inkrafttreten einer bestimmten Änderung (Inkrafttreten/Ablaufdatum) oder die Währung eines bestimmten Datensatzes (Version) widerspiegeln, falls im Laufe der Jahre mehrere Änderungen daran vorgenommen wurden. Möglicherweise verfügen Sie sogar über ein aktives Kennzeichen, um anzuzeigen, welche Version eines Datensatzes zum Zeitpunkt der Berichterstellung verwendet wird.

Eine Einschränkung hierbei ist, dass es umständlich ist, diese Einfügungen und Aktualisierungen während des Ladens des Data Warehouse manuell zu erleichtern. Schließlich sprechen wir über die Implementierung von Prozessen, die automatisch nach Änderungen im Quellsystemdatensatz suchen und dann feststellen, ob Datensätze überschrieben oder aktualisiert werden sollen. Im letzteren Fall müssen möglicherweise mehrere neue Ersatzschlüssel generiert werden, ganz zu schweigen von mehreren neuen Feldern. Außerdem müssen Sie für alle diese Aktivitäten eine Datenzuordnung erstellen.

Wenn Sie Ihr Data Warehouse mit Hilfe eines dimensionalen Datenmodellierungstools entwickeln, das einem codefreien, metadatengesteuerten Ansatz folgt, können Sie den Attributen auf logischer Ebene einfach die relevanten SCD-Typen zuweisen. Anschließend werden diese Details an eine ETL-Engine weitergegeben, die nachfolgende Einfügungen/Aktualisierungen, Joins und Überlegungen zur Datenzuordnung ohne manuellen Aufwand automatisch verarbeiten kann.

Optimieren Sie das Laden von Faktentabellen

Optimieren Sie das Laden von Faktentabellen mit dimensionalen Datenmodellen

Alle Datenpipelines führen zu Fakten- und Dimensionstabellen

Das Laden von Faktentabellen ist ein weiterer Bereich, der bei der Entwicklung der Datenpipeline viel zusätzlichen manuellen Aufwand mit sich bringt. Dieser Prozess umfasst das Erstellen mehrerer Joins zwischen Dimensionstabellen. Angesichts der Tatsache, dass Faktentabellen im Allgemeinen Millionen von Datensätzen enthalten, sind die hohen Kosten für die Durchführung dieser Operation offensichtlich.

Jedes Mal, wenn die Faktentabelle aufgefüllt wird, wird bei Suchvorgängen im dimensionalen Datenmodell jeder Geschäftsschlüssel mit der relevanten Dimensionstabelle verglichen und in einen Ersatzschlüssel umgewandelt. Angenommen, die Dimensionstabelle ist besonders groß oder es wurden mehrere Änderungen an den Quelldatensätzen vorgenommen (bei sich langsam ändernden Dimensionen). In diesem Fall kann die Suche besonders zeit- und ressourcenintensiv werden. Diese Aufgabe wird natürlich konsequent wiederholt, da die Transaktionsdaten ständig aktualisiert werden.

In vielen Fällen müssen Sie möglicherweise ein zusätzliches Staging-Tabelle zwischen Quellsystem und Data Warehouse, um all diese historischen Daten zu speichern und so die Weiterverarbeitung beim Laden zu erleichtern.

Möglicherweise müssen Sie auch erweiterte hierarchische Datenzuordnungen von Quellsystemen durchführen, um sicherzustellen, dass Daten mit der richtigen Körnung in die Faktentabelle geladen werden.

Wenn wir jetzt zurück zum metadatengesteuerter Ansatz Wie bereits erwähnt, können wir einen Weg finden, diesen Prozess radikal zu beschleunigen. Wenn Sie stattdessen Faktenattribute innerhalb des dimensionalen Datenmodells konfigurieren und diese Entitäten in der Datenpipeline verwenden, können die für die Data-Warehouse-Population erforderlichen Joins und Lookups automatisch von der zugrunde liegenden ETL/ELT-Engine ausgeführt werden.

 

Richten Sie Prozesse ein, um mit frühen Fakten umzugehen

Dimensionsdatenmodelle helfen beim Speichern historischer Daten

Manchmal passt die Realität Ihrer Geschäftsumgebung möglicherweise nicht genau in die Anforderungen eines Standardschemas.

Beispielsweise kann eine Mitarbeiter-ID für einen Rekruten generiert werden, bevor das Unternehmen über Informationen zu seiner Person oder sogar zu einem bestimmten Eintrittsdatum für den Kandidaten verfügt. Wenn Sie ein dimensionales Datenmodell erstellt haben, das Ihren HR-Prozess widerspiegelt, führt dieses Szenario zu einem Faktentabellendatensatz ohne zugehörige dimensionale Attribute. Im Wesentlichen eine fehlgeschlagene Fremdschlüsselsuche.

In diesem Fall müssen Sie nun warten, bis die gewünschten Informationen eintreffen. Daher ist es am besten, die fehlenden Daten durch eine Platzhalterdimension mit Standardwerten zu ersetzen. Sobald die Daten des Mitarbeiters vollständig erfasst sind, können die Attribute in der entsprechenden Tabelle aktualisiert werden. In anderen Fällen möchten Sie den Datensatz möglicherweise überhaupt nicht verarbeiten. In diesem Fall möchten Sie, dass der Eintrag während der Data-Warehouse-Befüllung gekennzeichnet oder ganz weggelassen wird.

Unabhängig davon, wie Sie mit diesen Situationen umgehen, muss Ihr dimensionales Datenmodell dynamische Konfigurationen ermöglichen, die die Art Ihres Unternehmens widerspiegeln.

Entwickeln Sie mit Metadaten angereicherte dimensionale Datenmodelle schnell mit Astera DW-Builder

Astera DW-Builder ist ein umfassendes Werkzeug zur Dimensionsdatenmodellierung, mit dem Sie in wenigen Minuten umfassende Dimensionsmodelle aus einem Transaktionssystem erstellen können.

Unsere intuitive Engine kann automatisch ein am besten geeignetes Schema entwickeln, das Fakten und Dimensionen basierend auf den in der Quelldatenbank enthaltenen Entitätsbeziehungen zuweist. Alternativ können Sie die funktionsreiche Toolbox von ADWB verwenden, um Ihr eigenes Dimensionsmodell von Grund auf mit Fakten-, Dimensions- und Datumsdimensionstabellen zu erstellen. Konfigurieren Sie dann einfach jede Entität mit den erforderlichen Attributen, einschließlich SCD-Typen, Ersatzschlüsseln, Geschäftsschlüsseln und anderen identifizierenden Metadaten.

Wir bieten auch verschiedene Funktionen zur Beschleunigung des Data Warehouse-Ladeprozesses, einschließlich dedizierter Fakten- und Dimensionslader, um die Datenübertragung an Ihr Ziel zu beschleunigen. ADWB bietet auch ein speziell entwickeltes Datenmodell-Abfrageobjekt, mit dem Sie mehrere Quellsystemtabellen verknüpfen können, um eine hierarchische Quellentität zu erstellen, die Sie einfach relevanten Data Warehouse-Tabellen zuordnen können.

Zum genaueren Hinsehen Astera Die dimensionalen Modellierungs- und Data Warehouse-Automatisierungsfunktionen von DW Builder, Kontakt aufnehmen jetzt bei uns. Oder überprüfen das Produkt für sich.

Sie können auch mögen
Was ist ein Datenkatalog? Funktionen, Best Practices und Vorteile
Sternschema Vs. Snowflake-Schema: 4 Hauptunterschiede
So laden Sie Daten von AWS S3 in Snowflake
In Anbetracht Astera Für Ihre Datenverwaltungsanforderungen?

Stellen Sie eine codefreie Konnektivität mit Ihren Unternehmensanwendungen, Datenbanken und Cloud-Anwendungen her, um alle Ihre Daten zu integrieren.

Lassen Sie uns jetzt eine Verbindung herstellen!
Lass uns verbinden