ETL vs ELT
Model answer
Both move data from sources into an analytics store. The difference is where the transformation happens.
ETL (extract, transform, load) transforms data in a separate processing step before loading it into the warehouse. Only cleaned, modeled data arrives in the target. It was common when warehouses were expensive and tightly sized, and it suits cases where sensitive fields must be masked before they reach the warehouse.
ELT (extract, load, transform) loads raw data first and transforms it inside the warehouse or lakehouse using SQL. Modern cloud warehouses scale compute separately from storage, so this is fast and flexible. Raw data stays available, so you can re-run or change transformations later without re-extracting. Tools such as dbt are built for this model.
ELT gives agility and an auditable raw layer, but you must govern the raw data and control warehouse cost. ETL gives tighter control before loading but needs separate compute and is harder to change.
Many teams use ELT as the default and ETL only where required by privacy or format.
Key points
- ETL transforms before loading; ELT loads raw data then transforms in the warehouse
- ELT relies on cheap storage and scalable warehouse compute
- Keeping raw data allows reprocessing without re-extracting
- ETL still fits when data must be masked or reshaped before loading
Likely follow-ups
- How would you handle PII in an ELT setup?
- What does dbt add to an ELT workflow?
Common mistakes
- Describing the two as the same with the letters reordered
- Loading raw sensitive data without access controls