What is the difference between ETL and ELT?
ETL extracts data from sources, transforms it on a separate processing engine, then loads the clean result into the target. ELT extracts and loads raw data into the target first, then transforms it using the target's own compute.
ETL suits on-premise warehouses with limited storage and compute, and cases where sensitive data must be masked before landing. It requires a dedicated transformation server and often custom code.
ELT suits cloud warehouses that separate storage from compute, such as Snowflake or BigQuery. Loading raw data is cheap, transformations run as SQL inside the warehouse, and the raw layer stays available for reprocessing. Tools like dbt and Fivetran popularized this model.
ELT gives flexibility and lineage because transformations are versioned SQL, but it depends on a powerful warehouse and disciplined access control on raw data.