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.