ETL — Extract, Transform, Load
Data is transformed in a staging area before being written to the destination. Historically required because warehouses were expensive — only clean, modelled data went in.
ELT — Extract, Load, Transform
Raw data lands in the warehouse first; transformation happens inside it using SQL. Made practical by cheap cloud storage and the compute power of modern warehouses (BigQuery, Snowflake, Redshift).
When to use ETL
- Strict data governance — raw data must not touch the warehouse.
- Complex, non-SQL transformations (ML feature engineering, image processing).
- Low-latency streaming where transformation must happen in-flight.
When to use ELT
- Cloud warehouse is already the source of truth.
- Transformation logic evolves frequently — SQL in dbt is easier to iterate than pipeline code.
- Ad-hoc analytics needs access to raw data.