Data Universe
Newsletter
Accueil/Encyclopédie/dbt (Data Build Tool)
🔧Data EngineeringIntermédiaireTransformation de données

dbt (Data Build Tool)

Framework de transformation de données qui permet d'écrire des transformations SQL versionables, testées et documentées directement dans le Data Warehouse.

💡Explication simple

Avant dbt, les transformations SQL étaient dans des scripts non versionnés, sans tests, sans documentation. dbt apporte les bonnes pratiques du développement logiciel à la data : les transformations sont des modèles .sql dans Git, testés automatiquement (not_null, unique), documentés avec des descriptions, et déployés en CI/CD. C'est de l'ingénierie logicielle appliquée à la transformation de données.

🏗️Exemple concret

Pipeline de reporting financier : 50 modèles dbt organisés en couches (staging → intermediate → marts). dbt run exécute tous les modèles dans le bon ordre (DAG automatique). dbt test vérifie 200 règles de qualité. dbt docs generate crée une documentation interactive avec lineage visuel. Toute l'équipe travaille dans le même projet Git.

∑ Concept clé

Modèle dbt = fichier .sql avec SELECT + materialization (table, view, incremental, ephemeral). Ref : {{ ref('stg_orders') }} crée la dépendance et le lineage automatiquement.

🎯Quand l'utiliser ?

Remplacement des ETL classiques pour la couche transformation
Standardisation des pratiques SQL dans une équipe data
Quand on a besoin de tests, documentation et versioning des transformations

✅ Avantages

+SQL versionné dans Git (code review, CI/CD)
+Tests automatiques sur les données (qualité intégrée)
+Lineage automatique (découverte des dépendances entre modèles)

⚠️ Limites

Limité au SQL (pas de Python pur pour les transformations complexes)
Courbe d'apprentissage pour les concepts dbt (refs, macros, packages)
Moins adapté aux transformations non-SQL (ML, traitement d'images)

🛠️ Outils principaux

dbt Core (open source)
dbt Cloud (SaaS avec orchestration)
Adapters : Snowflake, BigQuery, Redshift, Databricks, Synapse
Data EngineeringSQLELTAnalytics EngineeringGit

Concepts liés

âš¡

Apache Flink — Stream processing temps réel

Streaming

🧊

Apache Iceberg

Lakehouse Architecture

🏗️

Architecture Lakehouse

Architecture

🥇

Architecture Medallion (Bronze / Silver / Gold)

Architecture data

← Retour à l'encyclopédie