(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon
ELT

ETL vs ELT: differences and how to do ELT in practice

João Barros 05 de September de 2023 2 min read

ETL and ELT both move data into an analytical destination, but they swap the order of two steps. That difference has a real impact on the performance and cost of your pipelines.

Prerequisites

  • An understanding of the ETL pattern (Extract, Transform, Load).
  • Access to a modern data warehouse (Snowflake, BigQuery, Fabric, Synapse).
  • Knowledge of SQL.

Step 1: Understand the difference

In ETL you transform the data before loading it. In ELT you load the raw data first and transform it inside the data warehouse, using its compute power.

ETL vs ELT: differences and how to do ELT in practice

Step 2: Load raw data (Load)

Bring the source data into a staging area without transforming it:

COPY INTO staging.vendas
FROM 'origem/vendas.csv';

Step 3: Transform with SQL (Transform)

Now you transform inside the warehouse, taking advantage of its scale:

CREATE TABLE dw.vendas_limpo AS
SELECT
    CAST(data AS DATE)   AS data,
    UPPER(TRIM(cliente)) AS cliente,
    valor
FROM staging.vendas
WHERE valor > 0;

Step 4: When to choose each one

  • ELT — cloud data warehouses with plenty of compute power and large volumes.
  • ETL — when you must transform first due to compliance rules or destinations with little capacity.

Verify the result

Confirm the final table has the correct types and that the totals match the source.

Conclusion

ELT takes advantage of the power of modern warehouses and simplifies the pipeline. Would your current data benefit more from transforming before or after loading?

Share: