DEV Community

Cover image for ETL Vs ELT
PETER AMORO
PETER AMORO

Posted on

ETL Vs ELT

ABSTRACT

Data engineering has existed in some form since companies started dealing with with data such as predictive analysis, descriptive analytics and reports to give meaningful insight. This article examines the process of sourcing data which is the extraction, the transformation of data which involves the formatting of data into structured dat i.e cleaning data and the loading of data which involves the ingestion, transformation and serving data into the destination like databases.

INTRODUCTION

In this article, i will take you through the 2 different processes of the data engineering lifecycles which are mainly ETL and ELT and the processes involved in each of them.

ETL (EXTRACTION, TRANSFORMATION, LOADING)

Image showing extraction, loading and transformation

Extraction: This involves getting data from various sources like APIs, IoT devices (IoT short for Internet of Things — these are devices that collect data through sensors, like the fingerprint scanners on doors that collect fingerprints and store them in a central system), databases, flat files like CSVs, and web scraping. The goal of extraction is simply to pull raw data from wherever it lives and bring it into a staging area — think of it like gathering all your ingredients from the fridge before you start cooking. The data at this stage is messy, unorganized, and not yet ready to be used.
Transformation: This is the most critical step in ETL. Once the raw data has been extracted, it is processed and cleaned before being loaded into the destination. Transformation can include:

Cleaning — removing duplicates, fixing typos, handling missing values
Formatting — converting date formats, standardizing column names, changing data types
Filtering — removing data that is not relevant to the business use case
Aggregating — summarizing data, for example calculating total sales per month
Joining — combining data from multiple sources into one unified dataset

This transformation happens in an intermediate processing layer or staging environment, outside the final destination database.
Loading: After the data has been cleaned and transformed, it is loaded into the destination — usually a data warehouse like Amazon Redshift, Google BigQuery, or Snowflake. Because the data is already clean and structured at this point, it is immediately ready for analysts and business intelligence tools to query and use.

ELT (EXTRACTION, LOADING, TRANSFORMATION)

Image showing extraction, transformation and loading

ELT follows the same three steps as ETL but in a different order — the transformation happens after the data has already been loaded into the destination.
Extraction: Same as in ETL — raw data is pulled from various sources such as APIs, databases, IoT devices, and flat files.
Loading: The raw, unprocessed data is loaded directly into the destination — typically a modern cloud data warehouse. These modern warehouses are powerful enough to store and process huge volumes of raw data without needing it to be cleaned first.
Transformation: Once the raw data is sitting inside the data warehouse, transformations are performed there using tools like dbt (data build tool). This approach takes advantage of the processing power of the warehouse itself rather than relying on a separate transformation layer.

Which One Should You Use?
The answer depends on your use case:

Use ETL when you are dealing with sensitive data that must be cleaned and masked before it enters your system, or when working with older, on-premise databases that cannot handle raw data at scale.
Use ELT when you are working with large volumes of data, using a modern cloud data warehouse, and need flexibility to transform data in multiple ways for different teams.

In modern data engineering, ELT has become the more popular approach because cloud warehouses have become powerful and affordable enough to handle transformations internally, making the process faster and more flexible.

CONCLUSION
Both ETL and ELT are fundamental processes in the data engineering lifecycle. They both serve the same ultimate goal — getting clean, reliable data into the hands of the people who need it. The key difference lies in where and when the transformation happens. As a beginner in data engineering, understanding these two processes gives you a solid foundation for working with data pipelines, warehouses, and analytics workflows.

Top comments (0)