ETL And ELT
Summary: ETL and ELT are two patterns for moving data from source systems into a data warehouse, differing in when the raw data gets transformed relative to when it's loaded.
At a glance​
| Question | Answer |
|---|---|
| What is it? | Patterns for consolidating scattered data into one warehouse |
| Why does it matter? | It's the layer that actually moves and prepares data before any BI tool can query it |
| When do I use it? | Data lives across multiple source systems (app DB, SaaS tools, APIs, logs) and needs to be centralized |
How it works​
- Extract: pull raw data from source systems (app databases, SaaS tools, APIs, logs).
- Transform: clean, reshape, join, deduplicate, standardize the data.
- Load: write the transformed data into the destination, usually a data warehouse.
- ELT reorders this: load raw data first, then transform it inside the warehouse itself (commonly via SQL/dbt).
- ELT became common as warehouses like Snowflake and BigQuery got cheap and powerful enough to handle transformation themselves.
Example​
An ETL/ELT tool (Fivetran, Airbyte) pulls data from Stripe, Salesforce, and an app database into one warehouse (Snowflake, BigQuery, Redshift). dbt transforms it inside the warehouse. A BI tool (Superset, Metabase) then connects to that single warehouse to query and visualize the result.
Remember​
- ETL/ELT tools are what actually consolidate scattered data into one place.
- BI tools query already-consolidated data — they don't move or merge it themselves.
Related notes​
- Business Intelligence Platforms - the layer that queries data after ETL/ELT has consolidated it