,

ETL vs ELT: where the transform runs

7 min read
Warehouse with two conveyor paths: transform then load versus load then transform. Text: ETL vs ELT

At 2 a.m. a job fails. The warehouse is missing yesterday’s orders. Someone asks whether the pipeline is ETL or ELT as if the acronym will restart the job. The letters matter less than where transform runs, what is trusted, and how you recover when sources lie.

This guide compares ETL and ELT in plain language, covers related patterns (CDC, replication, virtualization), and gives a decision checklist for modern stacks. Related: storage options and governance.

What you’ll learn

  • ETL vs ELT with a simple diagram
  • When each pattern still wins
  • CDC and other integration cousins
  • Best practices that survive production
  • A checklist for choosing an approach
ETL transforms before load; ELT loads then transforms in the warehouse
The difference is mostly where transform runs.

ETL: extract, transform, load

Classic ETL extracts from sources, transforms in a dedicated engine or middle tier, then loads curated results into a target. Common when targets were expensive on-prem warehouses and you wanted to load only clean, slim tables.

Strengths: heavy cleansing before landing; strict control of what enters a sensitive target; mature enterprise tooling in regulated environments. Costs: middle-tier complexity; slower iteration if every change needs a specialist tool; raw history may not be retained.

ELT: extract, load, transform

ELT loads raw or lightly staged data into a powerful warehouse first, then transforms with SQL (often dbt) inside that platform. Cloud warehouses made this popular because storage is cheap and SQL engines scale.

Strengths: faster iteration for analytics engineers; raw data available for reprocessing; transforms versioned as code. Costs: need good warehouse governance and cost control; easy to create junk schemas if ownership is weak; some PII may land before masking unless you plan carefully.

Side-by-side

TopicETLELT
Transform locationBefore / outside warehouseInside warehouse
Raw retentionOften limitedUsually kept in stages
Iteration speedCan be slowerOften faster for SQL teams
Best classic fitStrict curated loadsCloud analytics stacks
Main riskOpaque middle tierMessy ungoverned raw zones

When to prefer which

  • Prefer ELT for cloud analytics with strong SQL skills and dbt-like workflows
  • Prefer ETL-like shaping when you must minimize raw PII landing or feed constrained legacy targets
  • Hybrid is normal: light redact on the way in, heavy modeling after load

Related patterns

CDC (change data capture)

Streams inserts/updates/deletes from source logs so you do not re-extract full tables every time. Great for fresher data and lower source load. Requires careful handling of schema changes and deletes.

Replication

Keeps copies in sync for availability or analytics offloading. Not the same as transforming into a dimensional model. A replica of production is still production-shaped.

Virtualization / federation

Query across systems without fully moving data. Useful for exploration and some operational patterns. Can hide performance and ownership problems if treated as a free lunch.

Best practices

  1. Name grains and owners for curated tables
  2. Keep transforms in version control with tests
  3. Separate raw, staged, and mart layers
  4. Monitor freshness, volume, and hard fails
  5. Document recovery: replay from raw, not from screenshots
  6. Control costs with partitioning, clustering, and query discipline

Worked story

A team loads Stripe and app database extracts into a warehouse every hour (ELT). dbt models build fct_orders and dim_customer. A test fails when order totals go negative. They fix the model and rebuild without re-pulling every source. That loop is why ELT feels good when raw stages exist.

Another team must feed a legacy finance system that only accepts a fixed file layout with masked fields. They shape the file in a controlled transform step before load (ETL-style). Different constraint, different pattern.

Tooling notes (not ads)

You will see Informatica, Talend, Fivetran-style extractors, Airbyte, cloud glue services, Airflow/Dagster orchestration, and dbt-style transformers. Buy for the bottleneck you have: extraction reliability, orchestration, or modeling discipline. Tools do not replace ownership.

Decision checklist

  • Where must PII be masked?
  • How fresh does the data need to be?
  • Who will write and test transforms?
  • Do we need raw replay?
  • What does failure look like and who is paged?
  • What is the cost model of our warehouse?

Quick recap

  • ETL transforms before load; ELT transforms after load
  • Cloud analytics often lean ELT; constraints can require ETL-style shaping
  • CDC, replication, and federation are cousins, not synonyms
  • Version and test transforms; monitor freshness
  • Choose by constraints and skills, not acronym fashion

Write examples from your own workplace. A named dashboard fight teaches more than a generic industry claim, and it keeps the post useful when the logos on the architecture slide change again next year.

If two teams argue about a number, put both definitions on one page with owners and timestamps. Clarity beats a forced compromise that nobody trusts enough to use in a real decision meeting.

Ship a small artifact this week: a definition card, a quality check, a retired vanity chart, or a one-page brief. Momentum compounds faster than another strategy deck about becoming data driven someday.

Teach newcomers where the source of truth lives on day one. Onboarding is a data-system surface. If new hires learn the wrong table first, you will spend months undoing that habit in code review and Slack threads.

When something breaks, fix the rule or the automated test that should have caught it. Heroic manual checks do not scale, and they disappear the week everyone is out on holiday or buried in a launch.

Prefer plain words in meetings until everyone shares a definition. Jargon is fine after that. Before that, jargon is just a way to lose the people who will actually act on the analysis.

Keep a short change log for metrics, pipelines, and critical dashboards. Future you will need the date a definition shifted, and you will not find it in a year-old screenshot buried in a slide archive.

Measure one concrete thing that proves the new approach beats the old habit: fewer reconcile hours, faster ticket answers, lower duplicate rates, or fewer “which number is right” threads per month.

Resist boiling the ocean. One domain, one partnership, one metric strip, or one retrieval evaluation set is enough to learn. Expansion is easier after you have a win people can point at without squinting.

Document the messy edge cases in the open. Hidden footnotes become tribal knowledge, and tribal knowledge becomes an outage when the only person who remembered the footnote changes teams.

Write examples from your own workplace. A named dashboard fight teaches more than a generic industry claim, and it keeps the post useful when the logos on the architecture slide change again next year.

If two teams argue about a number, put both definitions on one page with owners and timestamps. Clarity beats a forced compromise that nobody trusts enough to use in a real decision meeting.

Ship a small artifact this week: a definition card, a quality check, a retired vanity chart, or a one-page brief. Momentum compounds faster than another strategy deck about becoming data driven someday.

Teach newcomers where the source of truth lives on day one. Onboarding is a data-system surface. If new hires learn the wrong table first, you will spend months undoing that habit in code review and Slack threads.

When something breaks, fix the rule or the automated test that should have caught it. Heroic manual checks do not scale, and they disappear the week everyone is out on holiday or buried in a launch.

Prefer plain words in meetings until everyone shares a definition. Jargon is fine after that. Before that, jargon is just a way to lose the people who will actually act on the analysis.

Keep a short change log for metrics, pipelines, and critical dashboards. Future you will need the date a definition shifted, and you will not find it in a year-old screenshot buried in a slide archive.

Measure one concrete thing that proves the new approach beats the old habit: fewer reconcile hours, faster ticket answers, lower duplicate rates, or fewer “which number is right” threads per month.

Resist boiling the ocean. One domain, one partnership, one metric strip, or one retrieval evaluation set is enough to learn. Expansion is easier after you have a win people can point at without squinting.

Document the messy edge cases in the open. Hidden footnotes become tribal knowledge, and tribal knowledge becomes an outage when the only person who remembered the footnote changes teams.

Write examples from your own workplace. A named dashboard fight teaches more than a generic industry claim, and it keeps the post useful when the logos on the architecture slide change again next year.

If two teams argue about a number, put both definitions on one page with owners and timestamps. Clarity beats a forced compromise that nobody trusts enough to use in a real decision meeting.

Ship a small artifact this week: a definition card, a quality check, a retired vanity chart, or a one-page brief. Momentum compounds faster than another strategy deck about becoming data driven someday.

Teach newcomers where the source of truth lives on day one. Onboarding is a data-system surface. If new hires learn the wrong table first, you will spend months undoing that habit in code review and Slack threads.

Sources