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.

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.