dbt-Netz
Erfahren Sie, wie dbt Mesh Data Vault Projekte innerhalb dbt Cloud, durch die Ermöglichung einer effizienteren Data Mesh Architektur, effizienter gestaltet. Je größer ein Data Warehouse-Projekt wird, desto mehr Menschen beginnen, sich auf die bereitgestellten Daten zu verlassen und mit ihnen zu arbeiten. Bei dieser Arbeit kann es sich um die Nutzung der Daten, die Anwendung von Geschäftsregeln, die Modellierung von Fakten und Dimensionen oder andere typische Aufgaben in einer Datenumgebung handeln. In einem großen Unternehmen können all diese Benutzer über verschiedene Abteilungen verstreut sein, und die Daten, mit denen sie arbeiten, können zu unterschiedlichen Geschäftsbereichen gehören. Irgendwann steht das gesamte Unternehmen vor der Herausforderung, Daten gemeinsam zu nutzen und Governance-Richtlinien einzuhalten, die den Benutzern der Vertriebsabteilung den Zugriff auf Daten aus der Finanzabteilung untersagen könnten. Das data mesh bietet eine Lösung, die Unternehmen bei der Bewältigung dieser Herausforderungen unterstützt. Wenn Sie mehr über das data mesh erfahren möchten, lesen Sie unseren aktuellen Blog-Artikel über Data Vault und data mesh hier!
Wir bieten auch ein Webinar zu genau diesem Thema an. Verpassen Sie es nicht und schauen Sie sich die Aufzeichnungen kostenlos an!
Data Mesh-Unterstützung bei dbt Cloud
Viele Unternehmen kämpfen mit der Einführung eines Data Mesh-Ansatzes in der Data Vault-Landschaft. In diesem Webinar werden wir uns mit dbt Mesh beschäftigen und wie man es in einem Data Vault-Projekt nutzen kann.
In diesem Artikel:
Was ist dbt Mesh?
Dbt Mesh ist eine kürzlich hinzugefügte Funktion, mit der dbt Cloud effizienter mit einem Data-Mesh-Ansatz arbeiten kann. Die bereits bekannte {{ ref() }} -Funktion ist nicht mehr auf Modelle innerhalb eines dbt-Projekts beschränkt, sondern kann auf Modelle anderer dbt-Projekte verweisen.
Warum sollte ich auf andere dbt-Projekte verweisen wollen?
Stellen Sie sich eine große Organisation vor, die dbt Cloud für ihre Data Vault-Implementierung verwendet. Das Projekt hat vielleicht 400 definierte Quellen, 2000 implementierte Modelle und wird von 30 Entwicklern aktiv genutzt. Von diesen 30 Entwicklern arbeiten vielleicht 5 Personen speziell an der Business Data Vault und Information Mart Schicht für finanzbezogene Objekte. Weitere 5 Entwickler arbeiten an denselben Schichten, aber für vertriebsbezogene Objekte.
Irgendwann möchten Sie vielleicht vermeiden, dass die Finanzabteilung mit den vertriebsbezogenen dbt-Modellen herumspielt, so dass eine Data-Mesh-Architektur implementiert werden muss. Dies würde es dem Unternehmen ermöglichen, Richtlinien für die gemeinsame Nutzung von Daten, Dateneigentum und andere Governance-Maßnahmen zu definieren.
Mit dbt Mesh würden sowohl das Vertriebs- als auch das Finanzteam ihr eigenes dbt-Projekt erhalten. Da beide auf demselben Raw Data Vault basieren sollten, wird ein zusätzliches dbt-Grundlagenprojekt ausschließlich für Staging- und Raw Data Vault-Objekte erstellt. Beide bereichsspezifischen dbt-Projekte, Sales und Finance, können nun auf Raw Vault-Objekte innerhalb des dbt-Grundlagenprojekts verweisen, ohne dass die Daten physisch repliziert werden müssen.
Wie kann ich das dbt Mesh in einem mit Data Vault betriebenen Data Mesh nutzen?
Datenkontrakte definieren
Dbt-Modelle oder Gruppen von Modellen können jetzt so konfiguriert werden, dass sie Datenverträge haben. Innerhalb der bereits bekannten .yml-Dateien können Modelle jetzt so eingestellt werden, dass sie (innerhalb einer Organisation) öffentlich verfügbar sind, Dateneigentümer können erzwungen werden und Tabellenschemata können gesperrt werden.
Ein dbt-Grundlagenprojekt erstellen
In einer Data Mesh-Architektur ist die gebräuchlichste Methode zur Implementierung von Data Vault 2.0ein geteilten Raw Vault als Grundlage zu haben, und sowohl Business Vault als auch Information Marts sind nach Geschäftsbereichen unterteilt. In dbt Mesh würde sich dies in einem dbt-Grundlagenprojekt widerspiegeln, das alle Staging- und Raw Data Vault-Objekte enthält. Nur die Raw Data Vault-Objekte würden so konfiguriert, dass andere dbt-Projekte darauf zugreifen können, da die Staging-Modelle nicht außerhalb der Raw Data Vault-Modelle verwendet werden sollten.
dbt-Projekte auf Domänenebene hinzufügen
Auf der Grundlage des grundlegenden Raw Vault dbt-Projekts kann nun jedes Bereichsteam in seinem eigenen dbt-Projekt arbeiten. Sie greifen über die (erweiterte) {{ ref() }} -Funktion auf das Raw Data Vault zu und müssen sich nicht um die Pflege dieser Raw Vault-Objekte kümmern. Darüber hinaus können sie festlegen, welche ihrer Artefakte für andere Domänen nützlich sein könnten; diese können über ihre eigenen Datenverträge gemeinsam genutzt werden.
Zuständigkeiten verteilen
Normalerweise erstellt ein Power-User keine Hubs, Links und Satellites. Und es liegt nicht in ihrer Verantwortung, für eine zuverlässiges Raw Data Vault zu sorgen, auf der die Transformationen aufbauen. Daher ist es wichtig, die Verantwortlichkeiten innerhalb jedes dbt-Projekts zu definieren. Insbesondere Objekte, die außerhalb eines Projekts gemeinsam genutzt werden, sollten immer Datenverträge und definierte Eigentümer haben. Dadurch wird sichergestellt, dass sich die Benutzer dieser gemeinsam genutzten Objekte darauf verlassen können.
Fazit
Alles in allem bietet dbt Mesh eine fantastische Möglichkeit, einen echten Data-Mesh-Ansatz zu implementieren. Dies ist besonders dann relevant, wenn verschiedene Geschäftsbereiche einer Organisation in dbt zusammenarbeiten, um vertrauenswürdige Ergebnisse zu erzielen. In den meisten Szenarien ist es sinnvoll, bereits mit der Nutzung von dbt Mesh zu beginnen, auch wenn Ihr Projekt vielleicht noch nicht allzu groß ist. Klare Verantwortlichkeiten und Datenverträge helfen immer, Vertrauen und Transparenz für Ihre Daten zu erhalten!
- Tim Kirschke (Scalefree)