dbt (Data Build Tool) ist ein Open-Source-Kommandozeilenwerkzeug für Transformationen in Data Warehouses. Entwickelt von Fishtown Analytics (2016, Tristan Handy; 2021 umbenannt in dbt Labs), etablierte dbt den ELT-Ansatz: Daten werden zuerst geladen und dann im Warehouse selbst mit SQL transformiert — statt außerhalb mit separaten Tools.
Arbeitsweise
Analysten und Analytics Engineers schreiben Transformationsmodelle als SELECT-Queries in SQL-Dateien. dbt kompiliert die Queries (mit Jinja-Templating für wiederverwendbare Makros), führt sie gegen das Warehouse aus und materialisiert die Ergebnisse als View, Tabelle, inkrementelle Tabelle oder ephemeres Modell:
-- models/orders_summary.sql
SELECT customer_id, COUNT(*) AS order_count, SUM(amount) AS total
FROM {{ ref('stg_orders') }}
GROUP BY customer_id
Dazu gehören Tests (dbt test), Dokumentation (dbt docs generate) und ein Abhängigkeitsgraph, der Modelle in der richtigen Reihenfolge ausführt (dbt run).
Modern Data Stack
dbt gilt als prägendes Werkzeug des Modern Data Stack. Es unterstützt Snowflake, BigQuery, Redshift, Databricks und PostgreSQL. Der Code wird versioniert (Git), reviewed und automatisiert ausgeführt — Data Engineering nach Software-Engineering-Prinzipien. Laufende dbt-Runs werden häufig von Orchestrierern wie Apache Airflow angestoßen.
Abgrenzung
dbt ersetzt keine Extraktion oder Orchestrierung: Extrahieren übernehmen Tools wie Fivetran oder Airbyte, das Scheduling übernimmt Airflow. dbt füllt gezielt die Transformations-Schicht zwischen Rohdaten und analysierbaren Modellen.
Verwandte Grundlagen: ELT, Data Warehouse, Data Pipeline, SQL-Grundlagen, spaltenorientierte Datenbank, Apache Airflow.