SA-301e · Module 1

ETL vs. ELT Architecture

4 min read

ETL — Extract, Transform, Load — transforms data before loading it into the target system. ELT — Extract, Load, Transform — loads raw data first and transforms it inside the target. The distinction matters because it determines where the compute budget is spent, how flexible the transformations are, and how quickly new data sources can be integrated. ETL dominated when storage was expensive and compute was cheap on dedicated servers. ELT dominates now because cloud data warehouses provide massive compute at the query layer and storage is nearly free.

Do This

  • Use ELT when the target is a modern cloud data warehouse with elastic compute — let the warehouse handle transformation
  • Use ETL when the target has limited compute capacity or when sensitive data must be masked before it reaches the target
  • Design transformations as idempotent operations — rerunning the pipeline produces the same result

Avoid This

  • Use ETL because "that is what we have always done" without evaluating whether ELT better fits the current infrastructure
  • Load raw data into a target without a clear transformation plan — ELT is not "load and hope"
  • Build transformation logic that depends on execution order without explicitly declaring the dependency chain