Skip to main content
Scalefree Blog Datenwerkzeuge dbt Semantic Layer – Vereinheitlichen Sie Ihr Datenverständnis

dbt Semantic Layer

Je größer ein Unternehmen wird, desto mehr Daten stehen zur Verfügung und desto mehr Anwender möchten diese Daten nutzen. In einer traditionellen Data-Warehouse-Umgebung (DWH) stellt das DWH typischerweise einen Consumption Layer bereit. Dieser besteht aus verschiedenen Information Marts, die anschließend in mehrere Business-Intelligence-Tools (BI) geladen werden. Dort transformieren und aggregieren Geschäftsanwender die Daten, um KPIs zu berechnen und fundierte Geschäftsentscheidungen zu treffen.

Dies ist jedoch oft leichter gesagt als getan: Um aussagekräftige KPIs aus den Daten abzuleiten, benötigen Geschäftsanwender ein gemeinsames Verständnis der vom DWH bereitgestellten Informationen. Häufig sind die dafür notwendigen Dokumentationen jedoch schwer auffindbar und nicht an einem zentralen Ort zugänglich.

Dies kann letztlich dazu führen, dass verschiedene Abteilungen dieselben Daten unterschiedlich interpretieren und abweichende Werte für denselben KPI ableiten. Im schlimmsten Fall schwindet so das Vertrauen in die eigenen Daten. Genau hier setzt ein einheitlicher Semantic Layer an.

Von den Rohdaten zum Semantic Layer – mit Turbovault und dbt Cloud

Data Vault ist aufgrund seiner Anpassungsfähigkeit und Skalierbarkeit für Unternehmen bei der Verwaltung dynamischer Datenumgebungen unverzichtbar. Die Hub-and-Spoke-Architektur gewährleistet Nachvollziehbarkeit sowie Agilität und ermöglicht eine schnelle Anpassung an sich ändernde Anforderungen und unterschiedlichste Datenquellen.

Nehmen Sie an unserem Webinar teil und erfahren Sie, wie Sie dbt Cloud gemeinsam mit Turbovault und einem Datenmodellierungstool einsetzen, um Data Vault in Ihrem Unternehmen erfolgreich zu implementieren. Darüber hinaus werfen wir einen detaillierten Blick auf den dbt Semantic Layer.

Watch Webinar Recording

Komponenten des dbt Semantic Layer

Der dbt Semantic Layer vereinfacht die Definition und Nutzung kritischer Geschäftskennzahlen in Ihrem dbt-Projekt. Metrikdefinitionen werden zentralisiert, um eine konsistente Self-Service-Nutzung für alle Datenteams zu gewährleisten.

Durch die Verlagerung der Metrikdefinitionen von der BI-Ebene in die Modellierungsebene können Geschäftsanwender verschiedener Abteilungen darauf vertrauen, stets dieselbe Definition zu verwenden, unabhängig vom eingesetzten Tool. Ändert sich eine Metrikdefinition im Laufe der Zeit, wird diese Änderung automatisch an allen Verwendungsstellen übernommen, was durchgängige Konsistenz garantiert.

Um einen einheitlichen Semantic Layer innerhalb Ihres dbt-Projekts aufzubauen, sind folgende Schritte erforderlich:

  1. Ein semantisches Modell entwerfen
    • Vor der Implementierung muss das semantische Modell konzipiert werden. Dies geschieht idealerweise in enger Zusammenarbeit zwischen den technischen Teams und den Fachabteilungen, um zentrale Geschäftskonzepte und deren Beziehungen zueinander eindeutig zu identifizieren.
  2. dbt-Modelle erstellen, die Ihrem semantischen Modell entsprechen
    • Jedes Objekt Ihres semantischen Modells sollte 1:1 in ein dbt-Modell überführt werden. Achten Sie bei der Erstellung besonders darauf, Spaltennamen an einheitlichen Namensstandards auszurichten und die Ladelogik fehlerfrei zu entwickeln.
  3. Neue .yml-Dateien im Ordner „metrics“ anlegen
    • Alle Konfigurationen, die den dbt Semantic Layer betreffen, werden in einem dedizierten Ordner namens „metrics“ abgelegt. Dort dienen .yml-Dateien der Definition Ihrer semantischen Modelle. Wir empfehlen, pro semantischem Modell eine eigene .yml-Datei anzulegen.
  4. Entities definieren
    • Entities im semantischen Modell beschreiben im Wesentlichen die Schlüsselspalten semantischer Modelle. Entities können vier verschiedene Typen aufweisen: Primary, Unique, Foreign oder Natural. Jedes Modell muss eine Primary Entity besitzen, wobei eine Entity aus einer einzelnen Spalte oder einem transformierenden SQL-Ausdruck bestehen kann.
  5. Dimensions definieren
    • Eine Dimension im dbt Semantic Layer entspricht einer Betrachtungsweise Ihres Modells, also der Gruppierung von Daten nach einem bestimmten Attribut. Jede Dimension muss an eine Primary Entity gekoppelt sein, die für die Gruppierung herangezogen wird. Ein klassisches Beispiel ist eine Datumsspalte, mit der Sie Ihre Daten nach Tag, Monat oder Jahr gruppieren.
  6. Measures definieren
    • Measures stellen Aggregationen dar, die auf bestimmte Spalten in Ihrem Datenmodell angewendet werden. Measures können in anderen Measures wiederverwendet werden, um komplexere Kennzahlen zu berechnen. Zudem lassen sie sich mit verschiedenen Parametern konfigurieren, die bei der Generierung von ausführbarem SQL-Code unterstützen.
  7. Metrics definieren
    • Metrics bilden die eigentliche Sprache der Geschäftsanwender ab. Sie können verschiedene Typen aufweisen, die unterschiedliche Berechnungsarten repräsentieren – beispielsweise Conversion Metrics, Cumulative Metrics, Derived Metrics und Ratio Metrics. Sie bauen stets auf Measures auf und bilden den finalen Baustein des Semantic Layer.

 

So wird der Semantic Layer in Ihrer dbt-Lineage dargestellt:

Master dbt for Scalable Data Platforms

Learn how to design, build, and operate production-ready dbt projects with proven best practices.

Join the dbt Training

Nutzung des dbt Semantic Layer

Sobald ein Semantic Layer in Ihrem dbt-Projekt definiert ist, kann dieser für Datenkonsumenten freigegeben werden. Der dbt Semantic Layer ermöglicht es unterschiedlichen BI-Tools, sich direkt mit Ihrem dbt-Cloud-Projekt zu verbinden und Metrics, Measures sowie Filter unmittelbar im jeweiligen Tool bereitzustellen.

Folgende Tools werden bereits nativ unterstützt:

  • Tableau
  • Google Sheets
  • Microsoft Excel
  • Hex
  • Klipfolio PowerMetrics
  • Lightdash
  • Mode
  • Push.ai
  • Steep

Weitere Tools lassen sich über benutzerdefinierte Integrationen anbinden, sofern sie generische JDBC-Verbindungen unterstützen und mit Arrow Flight SQL kompatibel sind.

Fazit

Der dbt Semantic Layer hilft dabei, das Vertrauen in Ihr Data Warehouse nachhaltig zu stärken. Durch die Verlagerung von Berechnungslogiken aus den Fachabteilungen zurück in das Datenmodell wird eine verlässliche, unternehmensweit einheitliche Definition aller Business-KPIs geschaffen.

Auch wenn die Implementierung eines Semantic Layer einen gewissen Initialaufwand erfordert, steigert sie den geschäftlichen Nutzen Ihrer Daten erheblich. Die direkte Integration in die gewohnten BI-Tools Ihrer Geschäftsanwender vereinfacht den Datenzugriff und die Datenanalyse spürbar.

Wenn Sie mehr über den dbt Semantic Layer erfahren möchten und wissen wollen, wie er sich optimal in ein auf Data Vault 2.0 basierendes Data Warehouse einfügt, nehmen Sie an unserem nächsten Webinar am 13. August teil!

Leave a Reply