dbt (data build tool): industrialisierte SQL-Transformation
dbt (data build tool) ist zur Lingua franca der modernen Datentransformation geworden. Innerhalb von fünf Jahren wurde aus einem Open-Source-Experiment das Standardwerkzeug tausender Data-Teams weltweit. dbt zu verstehen, was es macht, warum es funktioniert und wie man es strategisch einsetzt, ist für jeden CDO unverzichtbar, der eine moderne Datenplattform verantwortet.
Was dbt tatsächlich macht
dbt ist ein Transformationstool. Es sitzt im T von ELTELTELT (Extract, Load, Transform) ist ein Muster der Datenintegration, bei dem Rohdaten zuerst in ein Zielsystem geladen und dann dort mit der Rechenleistung der Plattform transformiert werden.Vollständige Definition ansehen →: nachdem die Daten ins Warehouse geladen sind, transformiert dbt sie mit SQL.
Vor dbt wurden Transformationen üblicherweise als Stored Procedures, eigene Python-Skripte oder eingebettet in ETLETLETL (Extract, Transform, Load) ist ein Datenintegrationsprozess, der Daten aus Quellsystemen extrahiert, in ein konsistentes Format bringt und in ein Zielsystem schreibt.Vollständige Definition ansehen →-Tools geschrieben. Diese Ansätze hatten dieselben Probleme: kein Version Control, keine Tests, keine Dokumentation, kein Lineage.
dbt löst all das in einem Tool:
- SQL-native: Transformationen sind SQLSQLSales Qualified Lead: ein Prospect, den das Sales-Team als bereit für direkte Ansprache und ein Angebot validiert hat, weil er klare Qualifizierungskriterien erfüllt.Vollständige Definition ansehen →-SELECT-Statements. Keine neue Sprache zu lernen.
- Version Control: dbt-Modelle sind Dateien in Git. Jede Änderung ist nachvollziehbar, reviewbar und rücknehmbar.
- Testing: Erwartete Datenqualitätseigenschaften werden in YAML definiert. dbt testet sie automatisch.
- Dokumentation: Automatisch generiert aus den Spaltenbeschreibungen in der YAML-Konfiguration.
- Lineage: dbt baut einen DAG aller Modellabhängigkeiten und liefert damit automatisches Data LineageData LineageData Lineage zeigt, wie Daten sich durch Systeme bewegen und dabei transformiert werden, von der Quelle bis zur Nutzung: woher sie kommen, was sie verändert hat und wohin sie gehen.Vollständige Definition ansehen →.
dbt (data build tool) Tutorial for Beginners
Wissenscheck
1. Wo arbeitet dbt im ELT-Paradigma?
2. Was ist der Hauptzweck der Funktion ref() in dbt?
3. Welche Materialization ist für einen sehr großen Datensatz am geeignetsten, bei dem Full Rebuilds unpraktikabel geworden sind?
4. Wählen Sie ALLE Probleme der Transformationsansätze vor dbt (Stored Procedures, eigene Skripte, ETL-Tools), die dbt lösen sollte.
Wählen Sie alle richtigen Antworten aus.
5. Wählen Sie ALLE Aussagen, die dbt-Tests und Sources korrekt beschreiben.
Wählen Sie alle richtigen Antworten aus.
dbt in der Praxis: die Kernkonzepte
Models: Ein dbt-Model ist eine SQL-Datei, die eine Transformation definiert. Der Dateiname wird zum Tabellen- oder View-Namen im Warehouse. Sie schreiben SELECT-Statements, dbt übernimmt CREATE TABLE AS.
Refs: Models referenzieren sich gegenseitig über die Funktion ref() (z. B. FROM {{ ref('stg_customers') }}). Damit entsteht der Dependency Graph, und dbt kann die Models in der richtigen Reihenfolge ausführen.
Tests: Zwei Arten: generische Tests (not_null, unique, accepted_values, relationships) und singuläre Tests (eigenes SQL, das null Zeilen zurückgeben sollte, wenn die Daten korrekt sind). Tests laufen nach jedem Build.
Sources: Externe Tabellen (nicht von dbt gebaut), referenziert über die Funktion source(). dbt kann die Source Freshness automatisch testen.
Materializations: Wie dbt das Ergebnis erzeugt. Table (vollständiger Rebuild), View (keine Daten gespeichert, Query läuft beim Zugriff), Incremental (verarbeitet nur neue/geänderte Datensätze, entscheidend bei großen Datenmengen).
Das Incremental-Model-Pattern
Bei großen Datenmengen werden Full Refreshes unpraktikabel. Ein Incremental Model verarbeitet nur neue Datensätze:
Das Pattern: die Quelle auf Datensätze filtern, die neuer sind als der jüngste Datensatz in der Zieltabelle. Beim ersten Run wird alles verarbeitet. Bei den folgenden Runs nur das Delta. Das senkt die Rechenkosten von O(Gesamtzeilen) auf O(neue Zeilen pro Run).
Incremental Models brauchen sorgfältiges Design: Wie behandeln Sie verspätet eintreffende Daten? Aktualisierte Datensätze? Löschungen? An diesen Edge Cases wird das Design von dbt Incremental Models komplex, und Fehler dort führen zu Datenqualitätsproblemen.
dbt im großen MaMaEinsatz von Software, um wiederkehrende Marketingaufgaben und Kampagnen zu automatisieren und Personalisierung in großem Maßstab über Kanäle wie E-Mail, Web und Social zu ermöglichen.Vollständige Definition ansehen →ßstab organisieren
Ein ausgereiftes dbt-Projekt folgt einem Layer-Pattern:
- Staging (stg_): Ein Model pro Source-Tabelle. Minimale Transformation, Spalten umbenennen, Typen casten, Testdaten entfernen. Keine Business-Logik.
- Intermediate (int_): Business-Logik wird angewendet. Joins, Aggregationen, abgeleitete Felder. Nicht direkt von BIBITechnologien und Prozesse, die Rohdaten über Reporting, Dashboards und Analysen in verwertbare Insights überführen, damit Teams auf Basis von Fakten statt Intuition entscheiden.Vollständige Definition ansehen →-Tools konsumiert.
- Marts (dim_, fct_, agg_): Dimensionale Modelle und Fact Tables. Das ist der Gold Layer, konsumiert von BI-Tools und Datenkonsumenten.
Diese Organisation trennt die Zuständigkeiten: Staging behandelt quellspezifische Eigenheiten, Marts exponieren Business-Logik, Intermediate verbindet beides.
Bei Gitlab (die ihr komplettes dbt-Projekt als Open Source veröffentlicht haben) versteht dank dieser Struktur jeder Beitragende, wo ererDas Verhältnis von Interaktionen (Likes, Kommentare, Shares) zur Reichweite eines Inhalts. Zeigt, wie stark die Zielgruppe reagiert, gemessen an der Zahl der Personen, die den Inhalt gesehen haben.Vollständige Definition ansehen → nach einer Transformation suchen muss, und es verhindert, dass Business-Logik in Staging-Models durchsickert.
Quizfragen
- Was ist die wichtigste Neuerung von dbt gegenüber traditionellen SQL-Transformationen (Stored Procedures)?
A) dbt ist schneller
B) dbt ergänzt Version Control, automatische Tests, Dokumentation und Data Lineage, also Software-Engineering-Praktiken angewendet auf SQL-Transformationen
C) dbt unterstützt mehr Datenbanken
D) dbt generiert das SQL automatisch
Antwort: B
- Was ist eine "incremental" Materialization in dbt?
A) Ein Model, das nur eine Stichprobe der Daten verarbeitet
B) Ein Model, das die gesamte Tabelle bei jedem Run neu aufbaut
C) Ein Model, das nur die seit dem letzten Run neuen oder geänderten Datensätze verarbeitet
D) Ein Model, das automatisch jede Stunde läuft
Antwort: C
- Was enthält in der Organisation eines ausgereiften dbt-Projekts der "Staging"-Layer?
A) Die dimensionalen Tabellen und Fact Tables, die von BI-Tools konsumiert werden
B) Die komplexe Business-Logik und die Joins
C) Ein Model pro Source-Tabelle mit minimaler Transformation, Umbenennung, Casting, ohne Business-Logik
D) Die Aggregationen für Executive-Dashboards
Antwort: C
Was Sie aus dieser Lektion umsetzen
Diese Maßnahmen sind im Playbook der Rolle zusammengefasst.
- dbt einführen, um Version Control, Tests und Dokumentation in die Transformationen zu bringen
Verwandte Artikel
Aktuelle Blogartikel, die auf dieser Lektion aufbauen.
- DataOkta hat den Kontext seiner KI-Agenten in dbt Pull Requests verlagert, und falsche Antworten lassen sich jetzt mit einem Merge behebenDie Analytics Engineers von Okta stellten fest, dass ihre KI-Agenten an Kontext scheiterten, den niemand prüfen konnte, obwohl die Modelle selbst einwandfrei funktionierten. Hier lesen Sie, wie sie diesen Kontext als reviewten Code in dbt neu aufgebaut haben, was sich dadurch geändert hat und wie ein CDO denselben Ansatz anwenden kann.
- DataAgents waren das Thema auf dem dbt Summit, die eigentliche Lektion war eine Reuse-Rate von 0,2 %Fivetran + dbt Labs haben in Las Vegas „agent-ready data“ verkauft, und ihre eigenen Kundenzahlen zeigen, dass nichts funktioniert, solange Bedeutung nicht in der pipeline deklariert ist. Das Debriefing dieser Woche behandelt das Pricing von dbt State, den Context Layer, freiwillige KI-Aufsicht und die Token-Rechnung, die niemand modelliert.
- Datalag_tolerance ist jetzt eine Budgetentscheidung, und die meisten Teams haben sie nicht getroffendbt State ist im September 2026 allgemein verfügbar geworden und macht aus „alles nach Zeitplan neu bauen“ ein „nur neu bauen, was sich geändert hat“. Die Einsparungen sind real, aber sie kommen nur an, wenn Sie Modell für Modell entscheiden, wie alt Ihre Daten sein dürfen.