dbt (data build tool)
SQL-first transformation framework enabling analytics engineering practices.
Best T-Factor
Transformation
T3
Weakest T-Factor
Time
T2
Architectural Position
Transformation layer.
Objective Description
dbt (data build tool) is an open-source transformation framework that enables analytics engineers to transform data in the warehouse using SQL SELECT statements. It introduces software engineering practices — version control, testing, documentation, and modular design — to data transformation. dbt compiles SQL models into warehouse-executable statements and manages dependencies between models as a DAG.
Architectural Position
Transformation layer. Positioned after raw data ingestion (Fivetran, Airbyte, Kafka) and before BI consumption (Tableau, Looker, Power BI). Operates inside the data warehouse — it does not move data, it transforms data already in the warehouse.
Use Case Fit
When to Use
- Establishing a structured, version-controlled transformation layer in the warehouse
- Teams requiring data quality testing integrated into the transformation pipeline
- Organizations adopting analytics engineering practices to bridge data engineering and analysis
- Projects requiring auto-generated data documentation and lineage visibility
When NOT to Use
- Data ingestion — dbt does not move data, only transforms data already in the warehouse
- Real-time streaming transformations — dbt is a batch transformation tool
- Complex Python-heavy ML feature engineering where SQL is insufficient
- Organizations without a cloud data warehouse as the transformation target
Anti-Patterns
Common misuse scenarios and overengineering risks.
Using dbt as an ingestion tool — it has no connectivity to source systems
Building monolithic models instead of layered staging, intermediate, and mart models
Skipping dbt tests and treating the transformation layer as implicitly correct
Treating dbt documentation as optional — undocumented models create knowledge debt