Skip to main content
All Posts By

Ole Bause

Ole Bause is a BI Consultant at Scalefree with a Master’s in Data Science and extensive experience in cloud native DWH (AWS, GCP, Azure). A Certified Data Vault 2.0 Practitioner (CDVP2) and AWS Solutions Architect, he specializes in building scalable pipelines with dbt and Snowflake.

KI im Data Warehousing: Prinzipien und Anwendungen

KI im Data Warehousing

KI im Data Warehousing

Die Fähigkeit, Daten effizient zu speichern, zu verwalten und zu analysieren, ist für jedes Unternehmen zu einem kritischen Erfolgsfaktor geworden. Der Bereich des Data Warehousing ist ein integraler Bestandteil dieses Prozesses, da er eine strukturierte, zentralisierte Speicherung großer Datenmengen bietet und ein wichtiges Element der Business Intelligence darstellt. Die zunehmende Menge und Komplexität der Daten stellt das Management jedoch vor immer größere Herausforderungen. Dennoch prägt KI bereits viele Prozesse in den unterschiedlichsten Bereichen, einschließlich des Data Warehousing.

Dieser Artikel untersucht die grundlegenden Prinzipien und Anwendungen der Künstlichen Intelligenz und wie KI in ein Enterprise Data Warehouse integriert werden kann. Dabei wird beleuchtet, wie sie zur Verbesserung des Designs und des Betriebs von Data Warehouses eingesetzt werden kann und gleichzeitig die Entwicklung anspruchsvollerer Data-Science-Anwendungen wie Machine Learning oder Predictive Analytics ermöglicht.

KI im Data Warehousing: Prinzipien und Anwendungen

Dieses Webinar befasst sich mit den wesentlichen Prinzipien der Künstlichen Intelligenz (KI) und ihrer transformativen Rolle im Data Warehousing. Wir untersuchen, wie KI und Machine Learning (ML) nicht nur den Aufbau und den Betrieb von Data Warehouses verbessern, sondern auch die darin gespeicherten riesigen Datenmengen nutzen, um leistungsstarke Anwendungen zu entwickeln, z. B. für Predictive Analytics.

Sie lernen die grundlegenden KI-Technologien kennen, die diese Fortschritte vorantreiben, und erfahren, wie sie sich mit Data Science und Machine Learning überschneiden, um die Datenspeicherung zu optimieren, die Entscheidungsfindung zu verbessern und neue geschäftliche Erkenntnisse zu gewinnen. Dieses Webinar bietet wertvolle Perspektiven für die Integration dieser Technologien in Ihre Data-Warehousing-Methoden.

Watch webinar recording

Grundlegende Prinzipien der KI

Lassen Sie uns zunächst den Begriff der Künstlichen Intelligenz sowie andere Begriffe wie Machine Learning, Deep Learning oder Generative KI einordnen, um den Kontext zu verdeutlichen und zu klären, was sich genau hinter diesen Begriffen verbirgt.

Künstliche Intelligenz ist heute eher ein Oberbegriff und repräsentiert ein breites Feld. Im Allgemeinen umfasst der Begriff KI Techniken, die es Computern ermöglichen, menschliches Verhalten nachzuahmen, sodass sie lernen, Sprache zu verstehen, Entscheidungen zu treffen, Muster zu erkennen und komplexe Probleme auf eine Weise zu lösen, die der menschlichen Intelligenz ähnelt.

AI Graphic

Machine Learning (ML) als Teilbereich der KI

Machine Learning ist ein Teilbereich der Künstlichen Intelligenz und, auch wenn der Begriff weniger präsent sein mag, einer der wichtigsten. Machine Learning nutzt fortschrittliche Techniken und Algorithmen, um Muster in großen Datenmengen zu erkennen. Dies ermöglicht es Maschinen, autonom zu lernen und sich anzupassen, um auf Basis der Daten Rückschlüsse oder Vorhersagen zu treffen. Im Gegensatz zur traditionellen Programmierung, bei der Aufgaben auf der Grundlage klarer und definierter Anweisungen ausgeführt werden, stützt sich Machine Learning auf statistische Analysen von Eingabedaten, um Ergebnisse innerhalb eines erwarteten Bereichs auszugeben. Im Wesentlichen ermöglicht es Machine Learning Computern, aus Daten zu lernen und diese zu interpretieren, ohne für jeden einzelnen Fall explizit programmiert zu werden.

Deep Learning (DL) – Ein tieferer Einblick in ML

Deep Learning ist ein spezialisierter Teilbereich des Machine Learning und der KI und nutzt tiefe neuronale Netze, um tiefgehende Datenverarbeitungsaufgaben zur Erkennung komplexer Muster durchzuführen.

Deep Learning nutzt viele Schichten, um komplexe Merkmale aus Rohdaten als Eingabe zu extrahieren, was in gewisser Weise die Funktionsweise des menschlichen Gehirns simuliert.

In dieser Hinsicht ist Deep Learning besonders leistungsfähig bei der Verarbeitung sehr großer Datenmengen, um komplexe Muster zu erlernen und so die unterschiedlichsten Aufgaben zu lösen. Bekannte Beispiele hierfür sind Aufgaben wie die Bild- oder Spracherkennung, die heute jedes moderne Smartphone beherrscht.

Generative KI – Der kreative Aspekt des Deep Learning

Generative KI ist ein Begriff, der in letzter Zeit vor allem durch ChatGPT sehr bekannt geworden ist. Generative KI ist ein Teilbereich des Deep Learning und umfasst Deep-Learning-Modelle, die neue Inhalte wie Texte, Bilder, Code oder sogar Videos auf Basis der Daten generieren, mit denen sie trainiert wurden. Sie sind in der Lage, ohne explizite Anweisungen neuartige Ergebnisse zu erzeugen, die die Trainingsdaten nicht direkt replizieren. Dies eröffnet völlig neue Möglichkeiten, wie beispielsweise die Erstellung langer Texte, komplexer Bilder oder sogar Musik.

Die Rolle der KI beim Aufbau von Data Warehouses

KI verändert alles, auch das Data Warehousing. Dabei kann sie dazu beitragen, die Effizienz und Effektivität Ihres Data Warehouses von Grund auf zu steigern. Vom Design und der Struktur bis hin zu den laufenden Datenmanagementprozessen gibt es viele Möglichkeiten, bei denen KI helfen kann.

KI hat das Potenzial, die größten Herausforderungen eines Data Warehouses zu bewältigen: Performance, Governance und Benutzerfreundlichkeit. Dies ist gelebte Data Intelligence, die die Art und Weise, wie Sie Ihre Daten abfragen, verwalten, steuern und visualisieren, revolutionieren wird.

Verbesserung von Design und Struktur

Die Architektur eines Data Warehouses ist von entscheidender Bedeutung, da sie eine effiziente Datenabfrage und Skalierbarkeit bei gleichbleibender Performance unterstützen muss. Durch die Analyse von Nutzungs- und Abfragemustern können KI-Algorithmen optimale Datenmodelle und Indizierungsstrategien vorschlagen. Dies beschleunigt nicht nur den Abruf von Informationen, sondern sorgt auch für eine agilere Datenhandhabung bei der Skalierung oder der Integration neuer Datenquellen.

Automatisierung von Datenintegration, -bereinigung und -transformation

Indem KI Routineaufgaben übernimmt, können sich Data Engineers auf anspruchsvollere Aufgaben wie den Entwurf von Datenmodellen, das Trainieren von Machine-Learning-Algorithmen und die Erstellung von Datenvisualisierungen konzentrieren. Beispielsweise nutzt The Coca-Cola Company KI-gestützte ETL-Tools, um Datenintegrationsaufgaben in ihrer gesamten globalen Lieferkette zu automatisieren und so die Beschaffungs- und Einkaufsprozesse zu optimieren.

Darüber hinaus kann KI auch die Entwickler selbst bei ihrer Arbeit unterstützen, sodass sie schneller und effizienter arbeiten können. Entwickler können KI nutzen, um Probleme in ihrem Code schneller zu beheben, indem sie auf KI-basierte Codegenerierung und -analyse wie GitHub Copilot zurückgreifen. Dieser vervollständigt, refaktoriert und debuggt Code in Echtzeit direkt in der IDE.

Auch das Performance-Tuning von Data-Warehouse-Workloads lässt sich durch prädiktive Optimierungen automatisieren, was erhebliche Kosten einsparen kann.

KI kann auch die Governance skalieren und automatisieren, indem sie automatisiertes Tagging, eine lückenlose Dokumentation und die Suche in natürlicher Sprache über alle Daten und Assets eines Unternehmens hinweg ermöglicht.

Dies reicht bis hin zu der Möglichkeit für Business-Anwender, natürliche Sprache zu nutzen, um mit Daten zu interagieren, Fragen zu stellen und Dashboards zu erstellen. Die Möglichkeiten sind nahezu unbegrenzt, und wir stehen erst am Anfang dieser Entwicklung.

Nutzung eines Data Warehouse für KI-Anwendungen

Die Struktur eines Data Warehouses – ein strukturiertes und zentralisiertes Repository, das Daten aus mehreren Quellen innerhalb eines Unternehmens aggregiert – macht es zur perfekten Grundlage für den Aufbau und das Trainieren von KI-Anwendungen. KI-Modelle benötigen große Mengen gut strukturierter und variabler Daten von hoher Qualität. Ein Data Warehouse bietet hierfür die perfekte Basis, um unternehmenseigene KI-Modelle zu trainieren.

Beispielsweise könnte ein Data Warehouse im Einzelhandel die jahrelange Historie von Käufen, demografischen Daten und Produktinformationen speichern. Diese Daten können genutzt werden, um KI-Modelle zu trainieren, die zukünftige Einkaufstrends vorhersagen oder personalisierte Produktempfehlungen aussprechen.

Verbesserung der KI-Fähigkeiten mit Data Vault

Insbesondere Data Vault 2.0 schafft die optimalen Voraussetzungen für das Trainieren eigener KI-Modelle durch sein strukturiertes und zuverlässiges Daten-Framework.

Hier sind einige Beispiele, wie diese Integration KI-gestützten Analysen zugutekommen kann:

  • Verbesserte Datenqualität: Die organisierte und auditierbare Struktur von Data Vault 2.0 sorgt für eine höhere Datenqualität und -konsistenz, was für das Trainieren präziser KI-Modelle unerlässlich ist. Saubere, gut strukturierte Datenmodelle verkürzen den Zeitaufwand für die Datenaufbereitung und erhöhen die Zuverlässigkeit von KI-Vorhersagen.
  • Verbesserte historische Analyse: Die umfassenden historischen Daten, die von Data Vault 2.0 erfasst werden, ermöglichen es KI-Modellen, präzisere Trendanalysen und Prognosen durchzuführen. Diese Fähigkeit ist besonders in Branchen wie dem Finanzwesen und dem Einzelhandel wertvoll, da die Analyse langfristiger Trends strategische Entscheidungen erheblich beeinflussen kann.
  • Datenzuverlässigkeit und Lineage: Das robuste Framework von Data Vault 2.0 gewährleistet die Datenzuverlässigkeit durch seine einzigartige Architektur, die Daten aus verschiedenen Quellen erfasst und gleichzeitig deren Lineage beibehält. Dies bedeutet, dass jeder Datenpunkt im System bis zu seinem Ursprung zurückverfolgt werden kann, was Transparenz schafft und das Vertrauen in die für KI-Modelle genutzten Daten stärkt.

Fazit

Die Integration von Künstlicher Intelligenz (KI) in das Data Warehousing steigert die Effizienz und Effektivität der Datenspeicherung, -verwaltung und -analyse erheblich. Durch den Einsatz von KI-Technologien können Unternehmen Prozesse zur Datenintegration, -bereinigung und -transformation automatisieren, was zu präziseren und schnelleren Erkenntnissen führt. Darüber hinaus sorgt die KI-gestützte Optimierung von Design und Struktur des Data Warehouses für eine verbesserte Performance und Skalierbarkeit. Der Einsatz von KI im Data Warehousing rationalisiert nicht nur die Abläufe, sondern ermöglicht es Unternehmen auch, fortschrittliche Analysen wie Machine Learning und Predictive Analytics zu nutzen, um tiefere Erkenntnisse zu gewinnen und fundierte Entscheidungen zu treffen.

Data Governance meistern: Den EU Data Act verstehen

Data Governance

Der EU Data Act steht bevor und wird den Zugriff von Unternehmen auf Daten sowie deren Nutzung im Einklang mit Best Practices der Data Governance, insbesondere bei Industriedaten, grundlegend neu gestalten. Diese Verordnung zielt darauf ab, einen wettbewerbsfähigen Datenmarkt zu fördern, Innovationen voranzutreiben und Fairness beim Datenaustausch zu gewährleisten.

Zu den wichtigsten Bestimmungen gehören die Stärkung der Nutzerkontrolle über Daten aus vernetzten Produkten, die Gewährleistung von Fairness bei der Datenbereitstellung und der Schutz vor unfairen Vertragsklauseln. In Ergänzung zum Data Governance Act legen diese Vorschriften das Fundament für einen europäischen Binnenmarkt für Daten und positionieren Europa als weltweiten Vorreiter in der Datenökonomie.

Data Governance meistern: Den EU Data Act verstehen

Nehmen Sie an unserem aufschlussreichen Webinar teil, in dem wir die Feinheiten des EU Data Act detailliert aufschlüsseln. Gewinnen Sie tiefgehende Einblicke in die rechtlichen und technischen Verpflichtungen dieser wegweisenden Verordnung und erfahren Sie, wie Sie gesetzeskonforme Datenplattformen erfolgreich implementieren.

Watch Webinar Recording

Den EU Data Act verstehen

Der von der Europäischen Union verabschiedete Data Act stellt einen bedeutenden Schritt zur Regulierung von Datenaustausch, Datenzugriff und Datennutzung in der digitalen Wirtschaft dar. Er zielt darauf ab, die Zusammenarbeit zu fördern und gleichzeitig die Grundsätze der Fairness und Transparenz sowie die Einhaltung strenger Datenschutzvorschriften wie der DSGVO sicherzustellen. Dieser regulatorische Rahmen bietet klare Leitlinien für Unternehmen, Einrichtungen des öffentlichen Sektors sowie Forschungsorganisationen und stellt sicher, dass Datenaustauschprozesse mit den gesetzlichen Anforderungen und ethischen Standards übereinstimmen.

Mit dem Geltungsbeginn am 12. September 2025 schreibt der Data Act die Einhaltung verbindlicher Bestimmungen bezüglich Datenaustauschpraktiken, vertraglicher Vereinbarungen und betrieblicher Abläufe vor. Unternehmen und Organisationen müssen sich frühzeitig darauf vorbereiten, ihre Prozesse an die Anforderungen des Data Act anzupassen, um die Compliance zu gewährleisten und regulatorische Risiken effektiv zu minimieren.

Der Anwendungsbereich des Data Act umfasst zahlreiche Akteure, die an Datenaustauschaktivitäten innerhalb der Europäischen Union beteiligt sind. Dazu gehören Unternehmen aller Größenordnungen, Einrichtungen des öffentlichen Sektors, Forschungsorganisationen sowie Anbieter von Datenverarbeitungsdiensten. Dateninhaber tragen die Verantwortung dafür, die Vorgaben des Data Act einzuhalten, faire und diskriminierungsfreie Datenaustauschpraktiken zu fördern und gleichzeitig den Datenschutz sowie die Rechte an geistigem Eigentum zu wahren.

Data Governance Free PDF - European Data Act Compliance Checklist - 10 Key Steps

Meistern Sie den EU Data Act noch heute!

Stellen Sie sicher, dass Ihr Unternehmen mit unserer umfassenden 10-Schritte-Compliance-Checkliste optimal auf den Data Act vorbereitet ist. Erfahren Sie, wie Sie Daten schützen, Verträge prüfen und die technische Interoperabilität gewährleisten.

Get My Free Checklist

Technische Herausforderungen

Die Bewältigung der durch den Data Act entstehenden technischen Herausforderungen erfordert robuste Lösungen, die Datenintegrität, Sicherheit und Verfügbarkeit gewährleisten. Die Nutzung von Methoden wie Data Vault 2.0 bietet einen vielseitigen Ansatz für das Datenmanagement, der Skalierbarkeit, Echtzeitfähigkeit und eine zukunftssichere Datenarchitektur ermöglicht. Durch die Entkopplung von Speicherung und Bereitstellung sowie die Implementierung von Echtzeit-Datenerfassung und -verarbeitung können Unternehmen ihren Compliance-Aufwand optimieren und ihre Data Governance nachhaltig stärken.

Die Implementierung einer auf Data Vault 2.0 basierenden Datenplattform versetzt Unternehmen in die Lage, die komplexen Anforderungen des Data Act effizient zu erfüllen. Durch den Aufbau einer stabilen Architektur für Datenaufnahme (Data Ingestion), Verarbeitung und Bereitstellung stellen Unternehmen ihre Compliance sicher und treiben gleichzeitig Innovation sowie Agilität in ihren Datenprozessen voran.

Data Vault architecture meets the Data Act requirements

Abbildung: Referenzarchitektur für eine Echtzeit-Data-Vault-Lösung

Die Data-Vault-2.0-Architektur folgt einem mehrschichtigen Ansatz, bestehend aus dem Staging Layer, dem Enterprise Data Warehouse Layer und dem Information-Mart-Layer. Dieser integrierte Aufbau gewährleistet ein optimales Zusammenspiel von technischen und geschäftlichen Zielen. Um den Anforderungen des Data Act präzise gerecht zu werden, lässt sich eine Message Queue integrieren, die Daten aus den Quellsystemen „ohne ungebührliche Verzögerung“ in das Enterprise Data Warehouse lädt – d. h. in Echtzeit, echtzeitnah (Near-Real-Time) oder mit der für Ihre Systemlandschaft optimalen Verarbeitungsgeschwindigkeit.

Durch den Einsatz einer echtzeitfähigen Data-Vault-2.0-Architektur für Ihre Datenplattform erfüllen Sie nicht nur die Anforderungen des EU Data Act, sondern legen auch das Fundament für ein optimiertes Datenmanagement und erweiterte Datenanalyse-Funktionen. Durch die Zentralisierung der Verarbeitung und Aufbereitung von Rohdaten aus IoT-Geräten stellt diese Architektur sicher, dass die Anforderungen des Data Act nahtlos in Ihre bestehende Dateninfrastruktur eingebettet werden.

Darüber hinaus lässt sich im Information-Mart-Layer ein spezifischer Interface Mart aufbauen, um Sicherheits- und Zugänglichkeitsanforderungen gezielt zu steuern. Hier können Daten nach Kriterien wie Geräte- oder Benutzer-ID sowie Zugriffsberechtigungen strukturiert werden. Dies ermöglicht es Nutzern, Daten auf Anfrage herunterzuladen oder direkt über eine dedizierte Anwendung zu visualisieren. Die Daten bleiben dabei stets aktuell, da der Interface Mart über Views auf Basis des Raw Vaults generiert werden kann, der ohne Verzögerung fortlaufend aktualisiert wird.

Zudem erleichtern Sie durch die Entkopplung von Datenspeicherung und -bereitstellung sowie den Einsatz moderner Streaming-Mechanismen nicht nur die Einhaltung regulatorischer Vorgaben, sondern ermöglichen auch agile und reaktionsschnelle Datenanalysen. Spezifische Business Rules lassen sich direkt im Business Vault und den nachgelagerten Schichten abbilden. Somit gewährleistet dieser Ansatz Compliance und schafft gleichzeitig die Voraussetzungen, um das volle Potenzial Ihrer Datenbestände für Innovationen und fundierte Entscheidungen im gesamten Unternehmen auszuschöpfen.

Abschließende Bemerkungen

Da der Geltungsbeginn des Data Act näher rückt, ist es für Unternehmen unerlässlich, Compliance zu priorisieren und proaktive Strategien für das Datenmanagement zu etablieren. Durch den Einsatz moderner Architekturen wie Data Vault 2.0 und die Anwendung agiler Methoden können sich Unternehmen sicher im regulatorischen Umfeld bewegen und die gesetzlichen Vorgaben als Hebel für technologisches Wachstum und datengetriebene Innovation nutzen.

Sehen Sie sich unsere Webinar-Aufzeichnung an, in der wir das Zusammenspiel zwischen dem EU Data Act und Data Vault 2.0 beleuchten und praxisnahe Handlungsempfehlungen für eine zukunftssichere Data Governance vermitteln.

Jetzt kostenlos ansehen: auf Englisch oder auf Deutsch.

datavault4dbt im Überblick: Eine praxisorientierte Reihe zum dbt-Paket für Data Vault 2.0 – Teil 2: Standardentitäten im Raw Vault

datavault4dbt im Detail

In unserem ersten Beitrag dieser Serie haben wir uns mit der Erstellung unseres Staging-Layers mithilfe von datavault4dbt befasst, einem Open-Source-Paket, das für Data Vault 2.0 innerhalb von dbt entwickelt wurde. In diesem Teil beginnen wir mit dem Aufbau unserer ersten Standard-Entitäten für Data Vault 2.0 im Raw Vault, darunter Hubs, Links und Satelliten. Wie schon im vorherigen Beitrag empfehlen wir Ihnen, sich im Wiki des GitHub-Repositorys des Projekts über die neuesten Änderungen und Anpassungen des datavault4dbt-Pakets zu informieren.

Bevor wir beginnen

Bevor wir beginnen, stellen Sie sicher, dass Sie das datavault4dbt-Paket korrekt in Ihrer packages.yml-Datei installiert und dbt deps ausgeführt haben.

Für dieses Tutorial verwenden wir die TPCH-Beispieldaten von Snowflake. Zudem gehen wir davon aus, dass Sie Ihr Staging-Modell bereits erstellt haben, einschließlich der Berechnung von Hash-Keys und Hash-Diffs. Hier ist ein Ausschnitt aus der Konfiguration unseres Staging-Modells, den wir später bei der Erstellung der Raw-Vault-Entitäten benötigen werden:

stg_orders
Staging layer in datavault4dbt

A. Standard-Hub mit datavault4dbt

Hubs werden auf der Grundlage einer eindeutigen Liste von Business-Keys erstellt, was ihre Konfiguration vergleichsweise einfach macht. In diesem Beispiel erstellen wir den Hub für Bestellungen (orders):

order_h
Hub in datavault4dbt
  • hashkey: Der Name des Hash-Keys im Staging-Modell
  • business_keys: Name des Business-Keys, der als Input für den zuvor genannten Hash-Key verwendet wird
  • source_models: Name unseres Staging-Modells

B. Standard-Link mit datavault4dbt

Link-Modelle stellen Verbindungen zwischen Business-Keys her. In unserem Fall erstellen wir eine Verbindung zwischen dem zuvor erstellten Order-Hub und dem Customer-Hub:

order_customer_1
Link in datavault4dbt
  • link_hashkey: Hash-Key des Links, generiert unter Verwendung der Foreign-Keys aus den Hubs im Staging-Layer
  • foreign_haskeys: Eine Liste von Foreign-Hash-Keys, die in unseren Link aufgenommen werden sollen
  • source_models: Name unseres Staging-Modells

C. Standard-Satellite Version 0 mit datavault4dbt

Gemäß den Data-Vault-2.0-Standards werden Version-0-Satelliten als inkrementelle Tabellen erstellt. In unserem Beispiel wird der Satellit mit dem zuvor erstellten Order-Hub verbunden:

order_0s
satellite version 0 in datavault4dbt
  • parent_hashkey: Name des Hash-Keys der übergeordneten Entität, in unserem Fall des Order-Hubs
  • src_hashdiff: Bereits im Staging-Modell berechneter Hash-Diff
  • src_payload: Ursprüngliche Spalten, die bei der Hash-Diff-Berechnung verwendet wurden
  • source_model: Name unseres Staging-Modells

D. Standard-Satellite Version 1 mit datavault4dbt

Darüber hinaus ist der Version-1-Satellit eine virtuell generierte Entität, die auf unserem Version-0-Satelliten aufbaut. Neben dem Materialisierungstyp besteht der Hauptunterschied zum V0-Satelliten in der Einführung einer neuen Spalte zur Berechnung des Load-End-Date. Das Load-End-Date wird für uns nachgelagert bei der Arbeit mit PIT-Tabellen im Business Vault nützlich sein.

order_s
satellite version 1 in datavault4dbt
  • sat_v0: Name des zugehörigen Version-0-Satelliten
  • hashkey: Name des Hash-Keys der übergeordneten Entität, in unserem Fall des Order-Hubs
  • hashdiff: Bereits im Staging-Modell berechneter Hash-Diff
  • ledts_alias: Name der zu generierenden Load-End-Date-Spalte
  • dd_is_current_flag: Wenn „true“, wird eine neue Spalte generiert, die die zuletzt geladenen Zeilen basierend auf dem Load-End-Date markiert

Fazit

Mit der Erstellung von Standard-Entitäten im Raw Vault haben wir ein solides Fundament für unsere Data-Vault-2.0-Architektur gelegt. Durch die Nutzung von datavault4dbt innerhalb von dbt haben wir die Entwicklung von Hubs, Links und Satelliten vereinfacht. Diese grundlegenden Bausteine bilden das Fundament einer robusten und skalierbaren Data-Warehousing-Lösung. Im weiteren Verlauf dieser Serie behandeln wir fortgeschrittene Konzepte und tauchen tief in die Feinheiten der Data-Vault-Modellierung ein, um das volle Potenzial unserer Daten zu erschließen.

Konzeption des Business Vault: Schlüsselstrategien für eine effektive Datenorganisation

DV2.0 Architecture with Business Vault

Konzeption des Business Vault

Data Vault 2.0 hat sich als umfassendes Framework etabliert, das Agilität, Skalierbarkeit und Anpassungsfähigkeit bietet. Im Zentrum dieses Frameworks steht der Business Vault, eine entscheidende Komponente für die effektive Datenorganisation und -analyse in modernen Unternehmen.

In diesem Artikel betrachten wir die wichtigsten Prinzipien und Strategien für die Konzeption eines robusten Business Vaults im Kontext von Data Vault 2.0.

Konzeption des Business Vault: Schlüsselstrategien für eine effektive Datenorganisation

Nehmen Sie an unserem informativen Webinar zum Thema „How to design the Business Vault?“ teil, in dem wir die entscheidende Rolle des Business Vaults innerhalb des Data-Vault-2.0-Frameworks untersuchen. Erfahren Sie, wie der Business Vault als zentrale Komponente dient, um Rohdaten in handlungsrelevante Erkenntnisse zu übersetzen. Zudem zeigen wir Ihnen, wie Sie Soft Business Rules anwenden, um die Erstellung von Endanwenderstrukturen zu rationalisieren und eine effiziente Befüllung der Information Marts sicherzustellen.

Watch webinar recording

Data Vault 2.0 verstehen

Data Vault 2.0 repräsentiert einen Paradigmenwechsel in der Datenarchitektur und unterscheidet sich deutlich von traditionellen Data-Warehousing-Methoden. Seine Flexibilität und Skalierbarkeit machen das Framework ideal für Unternehmen, die sich in den komplexen Strukturen moderner Datenökosysteme bewegen.

Die Data-Vault-2.0-Architektur folgt einem mehrschichtigen Ansatz, der aus dem Staging-Layer, dem Enterprise-Data-Warehouse-Layer und dem Information-Marts-Layer besteht. Durch die Aufteilung der Datenarchitektur in mehrere Schichten können wir sowohl auf die Bedürfnisse der technischen Teams (wie Historisierung, Revisionssicherheit und Datenintegration) als auch auf die Anforderungen der Fachanwender (wie schneller Zugriff auf relevante, gut organisierte Informationen) eingehen. Dieser integrierte Ansatz gewährleistet eine harmonische Synergie zwischen technischen und geschäftlichen Zielen.

DV2.0 Architecture with Business Vault

Um all diese Ziele zu erreichen, sieht Data Vault 2.0 eine Unterteilung innerhalb des Enterprise-Data-Warehouse-Layers vor: den Raw Vault und den Business Vault. Der Raw Vault empfängt und integriert die unveränderten Daten aus den Quellsystemen, während der Business Vault diese Rohdaten in aussagekräftige Erkenntnisse für eine fundierte Entscheidungsfindung übersetzt.

Die Bedeutung des Business Vault

Der Business Vault dient als Bindeglied zwischen dem Raw Vault und den Information-Mart-Schichten. Er ist ein optionaler Vault, der bedarfsgerecht auf dem Raw Vault aufbaut und in der Regel virtualisiert wird. Im Gegensatz zum Raw Vault wenden wir im Business Vault Soft Business Rules an, also Regeln, welche die Daten verändern.

Diese Schicht wird erstellt, um die Fachbereiche auf vielfältige Weise zu unterstützen, wie beispielsweise durch die Generierung von Query-Assistance-Entitäten oder durch die Vorberechnung kalkulierter Felder, die später in nachgelagerten Schichten verwendet werden. Mit anderen Worten: Der Business Vault beherbergt Daten, die durch Business-Regeln verändert wurden, um die Erstellung von Endanwenderstrukturen zu erleichtern.

Kernkonzepte des Business Vault

Ein Business Vault wird nach den Designprinzipien von Data Vault 2.0 modelliert. Dennoch muss er nicht zwangsläufig den strengen Revisionssicherheitsanforderungen des Raw Vaults folgen, da die Business-Vault-Entitäten jederzeit verworfen und neu erstellt werden können. Um eine einfachere und effizientere Befüllung der Information Marts zu ermöglichen, werden die Entitäten nur dann erstellt, wenn sie für die Fachbereiche notwendig sind. Dies ist auch der Grund, warum der Business Vault in der Regel wiederverwendbare Business-Logik enthält.

Zu den Entitätstypen, die typischerweise in einem Business Vault zu finden sind, gehören Point-in-Time- (PIT) und Bridge-Tabellen zur Query-Unterstützung, Computed Satellites oder Links zur Speicherung berechneter Daten sowie Exploration Links zur Verbindung von Hubs, die im Raw Vault nicht direkt miteinander verknüpft sind. Darüber hinaus gehören alle anderen Entitäten zum Business Vault, die auf dem Raw Vault basieren, Business-Logik nutzen und von der Information-Marts-Schicht abgefragt werden. Beispielsweise wird Business-Logik benötigt, um Instanzen desselben Objekts abzubilden, wodurch ein Business Same-as-Link entsteht.

Fazit

Im Datenmanagement umfasst Data Vault 2.0 verschiedene Aspekte wie Datenmodellierung, Methodik und Architektur. Dieses Framework zeichnet sich durch seine Vielseitigkeit aus und legt großen Wert auf Agilität und Anpassungsfähigkeit. In diesem Sinne bildet der Business Vault ein zentrales Element der Data-Vault-2.0-Architektur – er ist ein Hauptakteur für die effiziente Datenorganisation und -analyse in modernen Unternehmen.

Als flexible, optionale Schicht übersetzt der Business Vault Rohdaten unter Anwendung von Soft Business Rules in handlungsrelevante Erkenntnisse. Sein Ziel ist es, die Erstellung von Endanwenderstrukturen durch die Bereitstellung aufbereiteter Daten zu vereinfachen. Entitäten werden selektiv erstellt, wodurch wiederverwendbare Business-Logik erhalten bleibt. Im Wesentlichen stellt der Business Vault die effiziente Befüllung von Information Marts sicher, indem er sich auf geschäftskritische Daten konzentriert.

Möchten Sie mehr erfahren? Sehen Sie sich die Webinar-Aufzeichnung hier kostenlos an!

Exploring Datavault4dbt: Eine praktische Serie über das dbt-Paket für Data Vault 2.0 – Vol. 1: Die Staging-Layer

DataVault4dbt kennenlernen

Letztes Jahr hat Scalefree DataVault4dbt veröffentlicht, ein Open-Source-dbt-Paket für Data Vault 2.0, das Ladetemplates für die Erstellung und Modellierung von Data Vault 2.0-Entitäten nach aktuellen Standards und Best Practices enthält. Wenn Sie mehr über den allgemeinen Inhalt des Pakets und die Motivation dahinter lesen möchten, erfahren Sie hier mehr darüber.

Wir freuen uns, eine Reihe aufschlussreicher Beiträge und Webinare zu starten, die praktische Implementierungen von DataVault4dbt vorstellen. Dies versetzt Sie in die Lage, das volle Potenzial des Pakets in Ihren Data-Warehousing-Projekten auszuschöpfen. Heute beleuchten wir die Anwendung im Staging-Layer.

Bevor wir mit DataVault4dbt starten

Wir setzen grundlegende Kenntnisse in Data Vault 2.0 und dbt voraus. Zudem verwenden wir für die folgenden Beispiele die dbt-Cloud-IDE, die mit Snowflake verbunden ist. Eine aktuelle Liste der unterstützten Plattformen finden Sie im GitHub-Repository des Pakets.

Bitte beachten Sie auch, dass Sie für eine optimale Nutzung der Makros einige Voraussetzungen erfüllen müssen:

  • „Flat & Wide“-Quelldaten, die in Ihrer Zieldatenbank zugänglich sind
  • Eine Load-Date-Spalte, die den Zeitpunkt des Eintreffens im Quelldatenspeicher angibt
  • Eine Record-Source-Spalte, die die Herkunft der Quelldaten detailliert beschreibt, wie z. B. den Speicherort der Datei in einem Data Lake

In unserem Fall haben wir die Daten aus dem in dbt verfügbaren Beispielprojekt „jaffle_shop“ verwendet und angepasst.

Installation des DataVault4dbt-Pakets in dbt

Die Installation von DataVault4dbt erfolgt wie bei jedem anderen Paket in Ihrem dbt-Projekt. Sie müssen lediglich zwei einfache Schritte befolgen:

1. Fügen Sie es Ihrer packages.yml-Datei hinzu

DataVault4dbt installation

2. Führen Sie „dbt deps“ aus

DataVault4dbt installation

Nutzung des Makros für das Staging der Quelldaten

Laut der Dokumentation für den Staging-Layer von DataVault4dbt konzentriert sich diese Schicht in erster Linie auf das Hashing. Sie bietet auch Funktionalitäten wie das Erstellen abgeleiteter Spalten (Derived Columns), das Durchführen von Prejoins und das Hinzufügen von NULL-Werten für fehlende Spalten. Anstatt tief in die technischen Aspekte jeder Makrokomponente einzutauchen, die in der Dokumentation ausführlich behandelt werden, steigen wir direkt in die Anwendung ein!

A. Grundlegende Quellinformationen

Identifizierung des Quellmodells (source_model):

  • Wenn Sie auf eine Quelle verweisen, verwenden Sie das Dictionary-Format: ’source_name‘: ’source_table‘.
  • Für Modelle innerhalb unseres dbt-Projekts verwenden Sie einfach den Modellnamen: ’source_table‘.

Festlegen von Load-Date-Timestamp (ldts) & Record-Source (rsrc):

  • Beide können auf eine Spalte aus der Quelltabelle oder einen detaillierteren SQL-Ausdruck verweisen.
  • Zusätzlich können Sie für die Record-Source eine statische Zeichenfolge verwenden, die mit „!“ beginnt, wie z. B. „!my_source“.

Beispiel

DataVault4dbt: A table with two table blocks.
  • source_model: Ruft eine bereits in dbt erstellte Tabelle namens „orders_example“ auf.
  • ldts: Ruft eine Timestamp-Spalte aus unserem Quellmodell auf.
  • rsrc: Ruft eine Spalte auf, die eine Zeichenfolge enthält, die sich auf unseren Record-Source-Namen bezieht.

B. Hashing

In DataVault4dbt beschreibt der Parameter hashed_columns, wie Hashkeys und Hashdiffs generiert werden. Für jede Hash-Spalte gilt:

  • Der Key repräsentiert den Namen der Hash-Spalte.
  • Für Hashkeys ist der Wert eine Liste von Business-Keys.
  • Für Hashdiffs ist der Wert in der Regel eine Liste beschreibender Attribute.

Beispiel

DataVault4dbt: Screen shot, table, different types of data.
  • hk_order_h: Hashkey, der unter Verwendung von zwei Spalteneingaben (O_ORDERKEY und O_CUSTKEY) generiert wurde
  • hd_order_s: Hashdiff, der unter Verwendung mehrerer beschreibender Attribute generiert wurde

C. Derived Columns

Derived Columns in DataVault4dbt-Stage-Modellen ermöglichen es Ihnen, spezifische Transformationen direkt auf Daten anzuwenden. Sie fungieren als On-the-fly-Anpassungen, die sofortige Änderungen an den Daten innerhalb der Spalte selbst ermöglichen. Wenn Daten nicht im gewünschten Format vorliegen, können Sie mit DataVault4dbt mithilfe einer definierten Regel eine neue Version direkt in der Spalte ableiten.

Bei der Einstellung des Parameters derived_columns enthält jede abgeleitete Spalte (Derived Column):

  • value: Der Transformationsausdruck.
  • datatype: Der Datentyp der Spalte
  • src_cols_required: Quellspalten, die für die Transformation benötigt werden.

Je nachdem, wie Sie die Derived Column und die Quellspalten benennen, können Sie zwei Ergebnisse erzielen:

  1. Wenn der Name der Derived Column mit dem Namen der Quellspalte übereinstimmt, werden die ursprünglichen Spaltendaten durch die transformierten Daten ersetzt. Dies bedeutet im Wesentlichen, dass Sie die Originaldaten überschreiben.
  2. Wenn sich der Name der Derived Column hingegen vom Namen der Quellspalte unterscheidet, führt die Transformation zu einer völlig neuen Spalte, wobei die Daten der ursprünglichen Spalte erhalten bleiben.

Beispiel

DataVault4dbt: table, prices, items.
  • price_euro: Erstellung einer neuen Spalte mit denselben Werten wie die Spalte O_TOTALPRICE.
  • country_isocode: Erstellung einer neuen Spalte mit einer statischen Zeichenfolge „GER“.

D. Prejoining

Warum Prejoin?

In bestimmten Szenarien enthalten Ihre Quelldaten möglicherweise nicht den Business-Key, bei dem es sich häufig um eine für Menschen lesbare Kennung wie eine E-Mail-Adresse oder einen Benutzernamen handelt. Stattdessen enthalten sie möglicherweise einen Technical-Key, bei dem es sich um eine intern generierte Kennung oder einen Code handeln kann. Wenn Sie den für Menschen lesbaren Business-Key in Ihrer Verarbeitung verwenden müssen, aber nur den Technical-Key haben, nutzen Sie Prejoining, um Ihre Daten mit einer anderen Tabelle zu kombinieren, die Technical-Keys auf Business-Keys abbildet.

Wie definiert man Prejoins in DataVault4dbt?

Das DataVault4dbt-Paket bietet eine strukturierte Möglichkeit, diese Prejoins (prejoined_columns) mithilfe von Dictionaries zu definieren.

Für jede Spalte, die Sie durch Prejoining hinzufügen, müssen Sie einige Parameter angeben:

  • src_name: Dies ist die Quelle der Prejoin-Daten, wie in einer .yml-Datei definiert.
  • src_table: Dies gibt an, mit welcher Tabelle Sie das Prejoining durchführen, wie in der .yml-Datei benannt.
  • bk: Dies ist der Name der Business-Key-Spalte in der Prejoin-Tabelle oder die Spaltenwerte, die Sie in Ihre Tabelle übertragen.
  • this_column_name: In Ihren Originaldaten ist dies die Spalte, die mit der Prejoin-Tabelle übereinstimmt. Dies ist oft ein Technical-Key.
  • ref_column_name: In der Prejoin-Tabelle ist dies die Spalte, auf die this_column_name verweist. Sie sollte mit den Werten in this_column_name übereinstimmen.

Beachten Sie, dass sowohl „this_column_name“ als auch „ref_column_name“ entweder eine einzelne Spalte oder eine Liste von Spalten darstellen können, die als Basis für die Erstellung der JOIN-Bedingungen dienen.

Beispiel

DataVault4dbt example: Table, data.
  • c_name: Wir haben die Spalte „C_NAME“ aus der Customer-Quelltabelle importiert, verknüpft über orders.o_custkey = customer.c_custkey.

E. Multi-Active-Konfiguration (multi_active_config)

Der Parameter multi_active_config wird verwendet, wenn Quelldaten verarbeitet werden, die mehrere aktive Datensätze für denselben Business-Key enthalten. Im Wesentlichen müssen Sie angeben, welche Spalten die Multi-Active-Keys und welche die primäre Hashkey-Spalte sind.

Wenn Ihre Quelldaten keine natürliche Multi-Active-Key-Spalte aufweisen, sollten Sie eine solche mithilfe von Funktionen wie row_number in einer vorherigen Schicht erstellen. Fügen Sie dann den Namen dieser neu erstellten Spalte dem Parameter multi_active_key hinzu. Es ist von entscheidender Bedeutung, dass die Kombination aus Multi-Active-Keys, dem Haupt-Hashkey und der ldts-Spalte im finalen Satellite-Output eindeutig ist. Wenn Sie diese Einstellung nicht verwenden, wird davon ausgegangen, dass die Stage nur einzelne aktive Datensätze enthält.

Beispiel

DataVault4dbt example: Table, types, block.

Durch das Festlegen dieses Parameters erhalten wir konsistente Hashdiffs für identische Business-Keys, was sich in nachfolgenden Schichten als vorteilhaft erweist. Wenn Sie wissen möchten, warum, können Sie diesen Beitrag lesen.

F. Missing Columns

In DataVault4dbt hilft der Parameter missing_columns bei der Bewältigung von Szenarien, in denen sich das Quellschema ändert und einige Spalten nicht mehr existieren. Mithilfe dieses Parameters können Sie Platzhalterspalten erstellen, die mit NULL-Werten gefüllt sind, um die fehlenden Spalten zu ersetzen. Dadurch wird sichergestellt, dass Hashdiff-Berechnungen und Satellite-Payloads weiterhin funktionieren. Im Wesentlichen stellen Sie ein Dictionary bereit, bei dem die Spaltennamen die Keys und ihre jeweiligen SQL-Datentypen die Werte sind.

Beispiel

DataVault4dbt example: table, price
  • discount_code: Erstellung einer neuen discount_code-Spalte mit NULL-Werten.

Fazit

Das DataVault4dbt-Paket von Scalefree bietet eine benutzerfreundliche und zugleich leistungsstarke Lösung für die Datenbankmodellierung. In unserem Fall haben wir das Staging-Layer-Makro kennengelernt, das Best Practices mit der Flexibilität verbindet, auf unterschiedliche Quelldatenanforderungen einzugehen. Vom Hashing bis hin zu On-the-fly-Spaltenänderungen rationalisiert dieses Open-Source-dbt-Paket für Data Vault 2.0 komplexe Prozesse.

Während wir das Potenzial des Pakets weiter erforschen, laden wir Sie herzlich ein, an unserer monatlichen Experten-Session teilzunehmen, um tiefer in die Materie einzutauchen. Reservieren Sie hier Ihren Platz und halten Sie sich im GitHub-Repository des Pakets über die neuesten Updates und den Support auf dem Laufenden.

Metadaten meistern: Datenkataloge im Data Warehousing mit DataHub

Perfektes Metadatenmanagement im Data Warehousing

In der heutigen datengesteuerten Welt ist es essenziell, große Datenmengen effizient zu verwalten und zu organisieren. Unternehmen aller Branchen stehen vor der Herausforderung, mehr Daten als je zuvor zu bewältigen. Die Einführung und Entwicklung eines Enterprise Data Warehouse spielt naturgemäß eine zentrale Rolle, löst jedoch eine wesentliche Herausforderung nicht: Wie lassen sich die Daten, insbesondere die Metadaten, im Data Warehouse effektiv organisieren und verwalten? Hier kommen Datenkataloge ins Spiel und Tools wie DataHub werden unverzichtbar.

Ein Datenkatalog dient als umfassendes Inventar der Datenbestände (Data Assets) einer Organisation und liefert Kontext, Anmerkungen sowie Metadaten, um das Verständnis und das Auffinden von Daten zu erleichtern. Er funktioniert wie eine Landkarte für Ihre Daten und hilft Anwendern, sich in der komplexen Datenlandschaft zurechtzufinden und genau die benötigten Informationen zu identifizieren.

Ein Datenkatalog unterstützt Nutzer dabei zu verstehen, wo im Data Warehouse spezifische Daten liegen, die ihren Anforderungen entsprechen, woher diese Daten stammen und wie sie mit anderen Datensätzen verknüpft sind. Dies vereinfacht Aufgaben wie Datenanalyse und Reporting erheblich und macht das Data Warehouse für jeden im Unternehmen zugänglicher und nutzbarer.

Metadaten meistern: Datenkataloge im Data Warehousing mit DataHub

Verpassen Sie nicht unser bevorstehendes Webinar zum Thema Datenkataloge! Diese Session beleuchtet im Detail die entscheidende Rolle von Datenkatalogen im Data Warehousing – mit einem exklusiven Fokus auf das leistungsstarke Tool DataHub. Sie erhalten praktische Einblicke zur Optimierung von Data Discovery, Metadatenmanagement, Data Lineage und Data Governance. Melden Sie sich noch heute an und verwandeln Sie Ihre Datenmanagement-Strategie in einen echten Wettbewerbsvorteil.

Watch webinar recording

Datenkataloge verstehen

Was ist ein Datenkatalog?

Allgemein ist ein Datenkatalog ein Metadaten-Inventar, das aus organisierten und strukturierten Metadaten zu allen Data Assets einer Organisation besteht. Er bildet den zentralen Ort, an dem sämtliche Metadaten gespeichert, kombiniert und kategorisiert werden. Das erleichtert das Auffinden und Verstehen der entsprechenden Daten erheblich, beispielsweise innerhalb eines Data Warehouse. Ein Datenkatalog bietet zudem gezielte Suchfunktionen, um spezifische Daten aus den indexierten Datensätzen zu filtern. Er dient als Single Source of Truth für Ihre Metadaten und sorgt dafür, dass Nutzer den Daten vertrauen können, die sie für Analysen und Geschäftsentscheidungen heranziehen.

Rolle eines Datenkatalogs im Data Warehousing

Im Kontext des Data Warehousing bringt ein Datenkatalog zahlreiche Vorteile mit sich. Er bietet eine zentrale Möglichkeit, alle im Data Warehouse gespeicherten Daten zu erkunden und zu durchsuchen. Sowohl technische Anwender als auch Business User können relevante Daten entdecken, deren Kontext verstehen und sicherstellen, dass diese aktuell, verlässlich und präzise sind. Die folgende Abbildung zeigt, wo Datenkataloge im Data Warehousing mit Data Vault 2.0 zum Einsatz kommen. Ein Datenkatalog sollte die gesamte Enterprise-BI-Lösung abdecken. Dies gilt beispielsweise auch für einen Data Lake, sofern vorhanden, sowie für den Information Delivery Layer.

Data Vault 2.0 General Architecture

Nachdem wir die Grundlagen eines Datenkatalogs beleuchtet haben, betrachten wir nun die Rolle der einzelnen Komponenten genauer und untersuchen, wie ein Tool wie DataHub Organisationen bei diesen Aufgaben unterstützt.

Einführung in DataHub

In der Welt der Datenkataloge sticht DataHub als eine immer beliebtere Wahl für Unternehmen hervor. DataHub ist ein etabliertes Open-Source-Tool, das ursprünglich von LinkedIn entwickelt wurde, um den steigenden Bedarf an einer dynamischen und skalierbaren Datenmanagement-Lösung zu decken. Es entstand aus der Erkenntnis, dass bestehende Werkzeuge den wachsenden Anforderungen von LinkedIn nicht mehr gewachsen waren.

Mit dem Wachstum von LinkedIn stiegen auch Datenvolumen, Datenvielfalt und Datengeschwindigkeit (Volume, Variety, Velocity). LinkedIn erkannte die Notwendigkeit einer effizienteren Verwaltung seiner Daten und veröffentlichte DataHub im Jahr 2020 als Open-Source-Software. Dies ermöglichte es anderen Organisationen, von diesem fortschrittlichen Werkzeug zu profitieren. Seitdem haben zahlreiche Unternehmen DataHub als moderne, skalierbare Datenkataloglösung adaptiert.

DataHub unterstützt sowohl Push- als auch Pull-basierte Metadaten-Ingestion und bietet eine breite Palette an Integrationen, wie z. B. Airflow, BigQuery, Databricks, dbt, Hive, Kafka, Looker, MSSQL, MongoDB, Oracle, S3, Power BI, Snowflake, Spark und viele mehr. Eine vollständige Liste finden Sie hier. Dies verleiht DataHub die Fähigkeit, Metadaten aus mehreren Quellen zu denselben Daten zu kombinieren und anzuzeigen – beispielsweise eine dbt-Modelldefinition und das Ergebnis erfolgreicher Tests direkt neben dem Datenbankschema und den Spaltenstatistiken.

Datahub statistics

Hauptmerkmale und Funktionen von DataHub

Als Metadaten-Plattform geht DataHub über traditionelle Datenkataloge hinaus. DataHub bietet folgende Kernfunktionen:

1. Skalierbarkeit: DataHub ist darauf ausgelegt, Metadaten von Tausenden Datensätzen zu verarbeiten, was es zu einer hervorragenden Wahl für große Organisationen macht.

2. Flexibles und erweiterbares Datenmodell: Das zugrunde liegende technische Datenmodell ist flexibel gestaltet, sodass Organisationen es gezielt auf ihre spezifischen geschäftlichen Anforderungen abstimmen können.

3. Leistungsstarke Suche und Data Discovery: Unter Nutzung von Elasticsearch bietet DataHub eine robuste Suchfunktion, die es Anwendern ermöglicht, Datensätze anhand verschiedener Attribute wie Herkunft, Schema und Nutzung schnell zu finden.

Datahub capabilities

4. Umfassende Metadaten: Im Gegensatz zu herkömmlichen Datenkatalogen erfasst und präsentiert DataHub eine Vielzahl an Metadaten, einschließlich Data Lineage, operativer Metadaten und Business-Metadaten. Dies verschafft Anwendern ein ganzheitliches Verständnis ihrer Daten.

5. Data Lineage und Beziehungsanalyse: DataHub erfasst und visualisiert automatisch die Data Lineage und zeigt auf, wie Daten durch verschiedene Systeme fließen. Zudem werden Beziehungen zwischen Datensätzen dargestellt, sodass Nutzer nachvollziehen können, wie verschiedene Data Assets miteinander interagieren.

Lineage and Relationships in datahub

Fazit

Die Nutzung eines Datenkatalogs bringt entscheidende Vorteile mit sich:

  1. Verbesserte Data Discovery: Dank der Such- und Kategorisierungsfunktionen eines Datenkatalogs finden Nutzer genau die benötigten Daten schnell, ohne langwierig große Datensätze durchsuchen zu müssen.
  2. Besseres Datenverständnis: Die Metadaten in einem Datenkatalog liefern den notwendigen Kontext, was die korrekte Interpretation und Nutzung der Daten erleichtert.
  3. Bessere Compliance und Governance: Ein Datenkatalog unterstützt Data-Governance-Initiativen, indem er sicherstellt, dass Daten konsistent, präzise und konform mit relevanten Vorschriften sind.
  4. Erhöhtes Datenvertrauen: Durch Transparenz über die Data Lineage schafft ein Datenkatalog Vertrauen in die Daten, da Anwender deren Ursprung nachvollziehen und Qualität sowie Zuverlässigkeit überprüfen können.
  5. Zeit- und Ressourceneffizienz: Indem ein Datenkatalog das Auffinden und Verstehen von Daten erleichtert, spart er wertvolle Ressourcen im Unternehmen, beschleunigt datengestützte Prozesse und entlastet Datenmanagement-Teams.

Zusammenfassend bietet DataHub eine flexible, funktionsreiche und umfassende Lösung für Datenkataloge in einer Data-Warehousing-Umgebung. Durch die Bereitstellung leistungsstarker Funktionen für Data Discovery, Metadatenmanagement, Data Lineage und Data Governance ermöglicht DataHub es Unternehmen, den maximalen Wert aus ihren Daten zu schöpfen.

Wenn Sie mehr über Datenkataloge erfahren möchten, können Sie sich die Aufzeichnung hier kostenlos ansehen.

Data Vault 2.0 mit dbt – Teil 2

Data Vault 2.0 mit dbt

Data Vault 2.0 mit dbt

Im ersten Teil dieser Blogserie haben wir Ihnen dbt vorgestellt. Nun schauen wir uns an, wie Sie Data Vault 2.0 mit dbt implementieren können und welche Vorteile dies bietet. Falls Sie den ersten Teil noch nicht kennen, können Sie ihn hier lesen.

 

dbt-Modelle

dbt bietet die Möglichkeit, Modelle zu erstellen und aus diesen Modellen dynamisch SQL zu generieren und auszuführen. So können Sie Ihre Datentransformationen in Modellen mit SQL und wiederverwendbaren Makros auf Basis von Jinja2 schreiben, um Ihre Datenpipelines sauber und effizient auszuführen. Für den Data Vault-Anwendungsfall ist jedoch der wichtigste Teil die Fähigkeit, diese Makros zu definieren und zu verwenden.

Zunächst sollten wir jedoch klären, wie Modelle in dbt grundsätzlich funktionieren.

Dbt übernimmt die Kompilierung und Ausführung von Modellen, die mit SQL und der Makrosprache Jinja geschrieben sind. Jedes Modell besteht aus genau einer SQL SELECT-Anweisung. Der Jinja-Code wird während der Kompilierung in SQL übersetzt.

Data Vault 2.0 with dbt

Die folgende Abbildung zeigt ein einfaches dbt-Modell. Ein großer Vorteil von Jinja ist die Möglichkeit, SQL programmatisch zu erzeugen – zum Beispiel mit Schleifen oder Bedingungen. Über die Funktion ref() erkennt dbt außerdem die Abhängigkeiten zwischen den Modellen und erstellt daraus einen Abhängigkeitsgraphen. So wird sichergestellt, dass Modelle in der korrekten Reihenfolge ausgeführt werden und die Datenherkunft (Data Lineage) dokumentiert wird. Ein solcher Lineage-Graph könnte etwa so aussehen:

Data Vault 2.0 mit dbt

Die Materialisierung von Modellen lässt sich auf unterschiedlichen Konfigurationsebenen steuern. So ist schnelles Prototyping mit Views möglich, bei Bedarf lässt sich später aber auch auf materialisierte Tabellen umstellen – etwa aus Performancegründen.

Data Vault 2.0 und Makros

Aber wie können wir Data Vault 2.0 mit dbt implementieren? Der wichtigste Teil für die Nutzung von Data Vault 2.0 ist die Fähigkeit, Makros zu definieren und zu verwenden. Makros können in Modellen aufgerufen werden und generieren dann zusätzlichen SQL-Code oder sogar den gesamten SQL-Code in dieses Makro hinein.

Beispielsweise könnten Sie ein Makro schreiben, das ein Hub generiert. Dieses Makro erhält das Quell- bzw. Staging-Modell als Eingabeparameter sowie die Angabe der Spalten für den Business Key, das Ladedatum und die Datensatzquelle. Der entsprechende SQL-Code für das Hub wird dann daraus dynamisch erzeugt. Der große Vorteil: Eine Änderung am Makro wirkt sich sofort auf alle betroffenen Hubs aus, was die Wartbarkeit erheblich verbessert.

Zusätzlich profitiert man von der aktiven Open-Source-Community rund um dbt. Es gibt zahlreiche Open-Source-Pakete, mit denen dbt erweitert werden kann.

Einige davon eignen sich auch hervorragend für den Einsatz von Data Vault 2.0 mit dbt.

Unser eigenes Open-Source-Paket DataVault4dbt, das hier bei Scalefree entwickelt und aktiv gepflegt wird, bietet beispielsweise ein umfassendes Set an dbt-Makros, um ein Data-Vault-Modell „auf dem Papier“ in tatsächliche Tabellen und Views zu übersetzen – wie Hubs, Links, Satelliten und mehr. Das Paket wird aktiv in realen Projekten eingesetzt und hilft dabei, Best Practices für eine moderne, prüfungssichere Data Vault 2.0-Implementierung durchzusetzen.

Um alle Funktionen und Makro-Parameter im Detail kennenzulernen, werfen Sie einen Blick in die Dokumentation.

Das Einzige, was Sie in Ihrem Modell benötigen, beispielsweise für einen Hub, ist ein einziger Makroaufruf:

{%-

hub(src_pk, src_nk, src_ldts, src_source, source_model) 

-%}

Mit den Parametern des Makroaufrufs definieren Sie die Quelltabelle, in der sich die benötigten Spalten befinden (source_model), sowie die Spaltennamen für den Hash-Key(src_pk), den/die Business-Key(s) (src_nk), das Ladedatum (src_ldts) und die Datensatzquelle (src_source). Wird das Modell mitsamt dem enthaltenen Makro ausgeführt, wird der SQL-Code kompiliert und auf dem Datenbanksystem ausgeführt.

Die dafür nötigen Metadaten können beispielsweise direkt im Modell mithilfe von Jinja-Variablen definiert werden:

Dabei zeigt sich auch, dass dbt unterschiedliche Optionen zur Materialisierung bietet. So kann etwa mit der inkrementellen Materialisierung eine Entität schrittweise als Tabelle geladen werden.

Beim Ausführen des Modells erzeugt dbt den vollständigen SQL-Code aus dem Makro und entscheidet automatisch, wie die Daten geladen werden: Existiert die Hub-Tabelle noch nicht, wird sie erstellt und vollständig geladen. Ist sie bereits vorhanden, erfolgt ein inkrementelles Laden.

Wer bereits versucht hat, ein Data Vault-Modell mit reinem SQL („vanilla SQL“) umzusetzen, wird schnell erkennen, wie viel einfacher dieser Ansatz im Vergleich dazu ist. Das Team kann sich vollständig auf das Modellieren konzentrieren und sobald die Metadaten definiert sind, übernimmt dbt zusammen mit den Makros die gesamte technische Logik.

Frei verfügbare Pakete ermöglichen es, grundlegende Prinzipien von Data Vault 2.0 in dbt zu integrieren, und erleichtern so den Einstieg in die Implementierung. Aufgrund der offenen Architektur von dbt lassen sich alle Makros individuell an projektspezifische Anforderungen oder interne Standards anpassen.

Wichtig zu beachten: Viele der derzeit verfügbaren dbt-Pakete zur Umsetzung von Data Vault 2.0 weichen in einzelnen Details von den offiziellen Standards ab. Unser eigenes Open-Source-Paket DataVault4dbt, das hier bei Scalefree entwickelt und aktiv gepflegt wird, schließt diese Lücke, indem es alle Kern-Entitäten von Data Vault 2.0 und die neuesten Best Practices unterstützt. Das Paket wird bereits in realen Projekten eingesetzt, um eine moderne und prüfungssichere Implementierung zu gewährleisten.

Fazit

Durch die Integration von Data Vault 2.0 mit dbt wird der Data-Warehousing-Prozess rationalisiert, indem die Funktionen von dbt zur Definition von Modellen und Makros genutzt werden, was eine effiziente und dynamische SQL-Generierung ermöglicht. Dieser Ansatz ermöglicht es den Teams, sich auf das Data Vault-Design zu konzentrieren, während dbt die zugrunde liegende Logik übernimmt.

Unser Open-Source-Paket DataVault4dbt bringt diese Vorteile direkt in reale Projekte und bietet eine zuverlässige, standardkonforme Grundlage für den Aufbau von Hubs, Links, Satelliten und mehr.

Data Vault 2.0 mit dbt – Teil 1

Data Vault 2.0 mit dbt

Data Vault 2.0 mit dbt. Dieser Artikel konzentriert sich auf die Vorteile der Nutzung von Data Vault 2.0 mit dbt und die Bedeutung der Auswahl der richtigen Implementierungswerkzeuge. Daten sind ein wichtiges Gut im Entscheidungsprozess. Wie wir bereits in einem anderen Beitrag besprochen haben, ist Data Vault 2.0 die richtige Wahl, wenn das Ziel eines Enterprise Data Warehouse darin besteht, vollständig historisierte und integrierte Daten zu haben. Darüber hinaus eignet es sich auch besser für Fälle, in denen Daten aus vielen Quellsystemen kombiniert werden müssen. Den vorherigen Blogbeitrag finden Sie hier.

Während sich Data Vault 2.0 auf das „Was“ konzentriert, gibt es viele Optionen für das „Wie“ der technischen Übersetzung eines Data Vault-Modells in physische Tabellen und Views im Enterprise Data Warehouse sowie für die Orchestrierung und das Laden/Verarbeiten der Prozeduren. Und genau hier bietet Data Vault 2.0 mit dbt eine effektive Lösung.

Über dbt

Dieses data build tool transformiert Ihre Daten direkt in Ihrem Data Warehouse. Zur Information: dbt ist das „T“ in ELT. Daher setzt dbt voraus, dass die Daten bereits in eine Datenbank geladen sind, die von der aktuellen Datenbank abgefragt werden kann. dbt ist besonders kompatibel und nützlich in Cloud-DWH-Lösungen wie Snowflake, Azure Synapse Analytics, BigQuery und Redshift und führt Transformationen und Modellierungen direkt auf der Datenbank durch, um die Leistung dieser hochskalierbaren Plattformen zu nutzen.

Wie dbt funktioniert

Modelle und SQL-Anweisungen können in dbt selbst einfach erstellt, getestet und verwaltet werden. Eine leistungsstarke Kombination aus der Skriptsprache Jinja2 und dem Klassiker SQL ermöglicht es Benutzern, Modelle zu erstellen. Die einfache Benutzeroberfläche ermöglicht es Datenanalysten ohne technisches Engineering-Know-how, entsprechende Transformationen zu initiieren. Die Arbeitsabläufe des Datenteams werden dadurch effizienter und kostengünstiger. Hinter diesem Tool steht eine Open-Source-Community, die das Werkzeug ständig und leidenschaftlich weiterentwickelt. Als solches ist dbt sowohl als kostenlose, reduzierte Core-Version als auch als umfassende und flexible Cloud-Version verfügbar.

Wie funktioniert Data Vault 2.0 mit dbt?

Teil der Data Vault 2.0-Methodik ist das Modell, das sich darauf konzentriert, wie das Kern-Data-Warehouse mit einer skalierbaren Lösung entworfen wird. Die Data Vault-Kernstrukturen sind Hubs, Links und Satelliten. Dennoch bietet die Verwendung von Data Vault 2.0 mit dbt die Möglichkeit, Data Vault-Modelle zu generieren, und erlaubt Ihnen zudem, Ihre Datentransformationen mithilfe von SQL und wiederverwendbaren Makros auf Basis von Jinja2 zu schreiben, um Ihre Datenpipelines sauber und effizient auszuführen.

Data Vault 2.0 with dbt

Fazit

dbt erfindet das Rad nicht neu, aber wenn es um den Aufbau eines neuen EDW geht – insbesondere in der Cloud –, bietet es ein sehr hilfreiches Basis-Framework, in dem viele wichtige Funktionen für Continuous Integration und Deployment bereits definiert sind. dbt bringt die Standards der Softwareentwicklung in die Welt der Datentransformation. Dies ermöglicht es Entwicklern, sich auf die Kernaufgaben der Datenmodellierung und der Geschäftslogik zu konzentrieren. Insbesondere, und das nicht nur für kleinere Projekte, bietet dieses Tool eine leichtgewichtige und äußerst kostengünstige Alternative zu anderen Data-Warehouse-Automatisierungslösungen.

Meltano: Produktionsreife Open-Source-Datenintegration – Teil 2

Meltano result

Meltano: Produktionsreife Open-Source-Datenintegration

In diesem Artikel gehen wir näher auf die praktische Anwendung von Meltano ein – einer Open-Source-Plattform, die für den Aufbau, die Ausführung und die Orchestrierung von ELT-Pipelines entwickelt wurde. Aufbauend auf unserer vorherigen Diskussion zur Architektur von Meltano führt Sie dieser Beitrag durch den Prozess der Erstellung einer Datenintegrations-Pipeline: von der Initialisierung eines Projekts über die Konfiguration von Extractors und Loadern bis hin zur Nutzung der Meltano-Benutzeroberfläche (UI) für ein effizientes Management.

Meltano in Aktion

In unserem letzten Überblick haben wir über Meltano und seine Architektur gesprochen. Nun möchten wir Ihnen zeigen, wie einfach Sie mit Meltano eine Datenintegrations-Pipeline erstellen können.
Bevor wir beginnen, stellen Sie bitte sicher, dass Sie Meltano bereits auf Ihrem Rechner installiert haben. Falls nicht, können Sie der offiziellen Installationsanleitung von Meltano folgen.

Zunächst erstellen wir ein neues Meltano-Projekt.
Führen Sie dazu in einem Verzeichnis Ihrer Wahl den Befehl „meltano init“ aus. Dadurch wird ein neues Verzeichnis erstellt, das unter anderem Ihre Projektdatei „meltano.yml“ enthält.

Meltano

Der Meltano-Projektordner

Der Projektordner ist die zentrale Anlaufstelle („Single Source of Truth“) für alle Ihre Datenanforderungen. Es handelt sich um ein einfaches Verzeichnis, das problemlos versionsverwaltet werden kann.

Der Hauptbestandteil Ihres Projekts ist die Projektdatei meltano.yml. Diese Datei definiert Ihre Plugins, Pipelines und Konfigurationen.

Das Projekt und die Datei meltano.yml lassen sich über die Meltano CLI verwalten und werden direkt für das Deployment mit Docker/Kubernetes containerisiert. Bitte beachten Sie jedoch, dass noch keine Plugins oder Pipeline-Zeitpläne (Schedules) definiert wurden. Dies erledigen wir im nächsten Schritt.

Hinzufügen eines Extractors und eines Loaders

Initialisieren wir nun die Komponenten der Pipeline. Das erste Plugin, das Sie hinzufügen sollten, ist ein Extractor, der dafür zuständig ist, Daten aus Ihrer Datenquelle zu extrahieren.

Um herauszufinden, ob ein Extractor für Ihre Datenquelle direkt („out of the box“) unterstützt wird, können Sie die Extractor-Liste auf MeltanoHub prüfen oder den Befehl „meltano discover“ ausführen.

In diesem Beispiel verwenden wir den Tap für GitLab, da wir hierfür keine API-Zugangsdaten erstellen müssen.

Meltano

Meltano übernimmt die Einrichtung, Konfiguration und Steuerung der Aufrufe.

Meltano

Wir konfigurieren den Extractor so, dass er die Daten aus dem Repository meltano/meltano abruft. Zusätzlich definieren wir, dass nur Daten ab dem 1. Januar 2021 extrahiert werden und nur Daten des Streams „Tags“ enthalten sind.

Meltano

Die Datenauswahl ist damit wesentlich einfacher als bei der ausschließlichen Nutzung von Singer! Der Extractor ist nun eingerichtet. Als Nächstes fügen wir einen Loader hinzu, um die Daten in einer CSV-Datei zu speichern, und definieren unseren Zielpfad:

Meltano

Bitte beachten Sie, dass das Verzeichnis vorab manuell erstellt werden muss, da es nicht automatisch angelegt wird. So sieht unsere meltano.yml aus:

Anstatt die CLI zu verwenden, können Sie Änderungen auch direkt in der YAML-Datei vornehmen.

Auf diese Weise ist es ebenfalls möglich, die Extractors und Loader in der Meltano-UI zu konfigurieren:

Starten Sie den Webserver der Meltano-UI mit dem Befehl meltano ui. Sofern nicht anders konfiguriert, ist die Benutzeroberfläche nun unter http://localhost:5000 erreichbar.

Meltano Extractors
Meltano Configuration

Ausführen einer Pipeline

Nun ist es an der Zeit, eine Pipeline auszuführen. Um eine einmalige Pipeline zu starten, können Sie einfach den Befehl meltano elt verwenden:

Meltano
Pipelines

Ergebnis

Und schon sind wir fertig! Wir haben lediglich zehn Befehle benötigt, um eine vollständige Datenintegrations-Pipeline zu erstellen.

Meltano result

Fazit

Es wird schnell klar, warum Meltano eine hervorragende Wahl für den Aufbau Ihrer Datenplattform ist: Es ist leistungsstark und dennoch einfach zu warten. Das Open-Source-Modell macht es zudem flexibel, kosteneffizient und zuverlässig.

Singer Open-Source-Datenintegration in Produktionsqualität – Teil 1

In unserem vorangegangenen Blogbeitrag haben wir das Open-Source-Framework Singer für ELT-Prozesse vorgestellt. Dieses Framework lässt sich durch ein weiteres Open-Source-Tool ergänzen, das Singer um zusätzliche wertvolle Funktionen erweitert – darunter Installation, Einrichtung von Umgebungen, Monitoring, Scheduling und Orchestrierung. Bei Scalefree haben wir alle unsere ELT-Pipelines auf dieses Framework unter AWS überführt und sind mit den Ergebnissen äußerst zufrieden.

Bitte beachten Sie: Es gibt zwar eine Vielzahl von Plattformen zur Verwaltung der Datenintegration, jedoch mangelt es oft an robusten, benutzerfreundlichen und zugleich kostenlosen Open-Source-Lösungen. Das Meltano-Projekt zielt darauf ab, für genau diese Herausforderung eine Lösung zu bieten. Meltano ist eine umfassende Datenintegrationsplattform, die selbst die etabliertesten Anbieter im Datenbereich herausfordert. Sie baut auf den besten Open-Source-Tools für die Datenintegration auf und verbindet diese mit bewährten DataOps-Best-Practices.

Meltano bietet den einfachsten Weg zur Erstellung, Ausführung und Orchestrierung von ELT-Pipelines, die aus Singer-Taps, -Targets und dbt-Modellen bestehen. Es ist quelloffen (Open Source), selbst gehostet (Self-Hosted), versionskontrolliert sowie vollständig containerisierbar.

Das Open-Source-Modell von Meltano ermöglicht Ihnen eine flexible Anpassung an Ihre individuellen Anforderungen und senkt nachhaltig die Betriebskosten. Continue Reading