What are ETL and ELT?
ETL (extract, transform, load) and ELT (extract, load, transform) are the two standard approaches to moving data from the systems where it is created into the systems where it is analyzed. Both begin by extracting data from a source, such as an ERP database, a SaaS application’s API, or a folder of CSV files. They differ in the order of the remaining steps.
In ETL, the data is transformed on a separate processing server before it is written to the destination. Only cleaned, reshaped data reaches the warehouse. In ELT, the raw data is loaded into the destination first, and the transformations run inside it using the destination’s own compute, typically as SQL. ELT became the dominant pattern once cloud warehouses and lakehouses offered cheap storage and elastic compute, because it is cheaper to copy everything and reshape it in place than to maintain a separate transformation tier.
ETL compared with ELT
| Aspect | ETL | ELT |
|---|---|---|
| Where transformation runs | Dedicated integration server | Inside the warehouse or lakehouse |
| Raw data retained at destination | Usually not | Yes |
| Good fit | Sensitive fields that must be masked before landing, legacy on-premises warehouses | Cloud platforms, changing requirements, machine learning that needs raw history |
| Typical tooling | Graphical integration suites | Ingestion connectors plus SQL transformation frameworks |
Why ETL and ELT matter
The choice determines where business logic lives and who can change it. ETL logic sits in an integration tool that only a few specialists understand. ELT logic is SQL in version control that analysts can read and test. For AI work, ELT has a further advantage: the raw layer is already in place when a data scientist asks for the original, unaggregated records. A law firm that moved from ETL to ELT found it could train a matter profitability model on ten years of raw time entries that the old process had summarized by month and discarded.
What to watch for
- Mask or tokenize regulated fields before they land if the destination has broader access than the source, which argues for a transform step up front even in an ELT design.
- Track compute spent on transformations inside the warehouse, since ELT shifts that cost onto the platform bill.
- Put transformation code in version control with tests, whichever pattern you use.
- Prefer incremental loads driven by change data capture over full nightly reloads as tables grow.