Wat is ETL/ELT?

Data Pipeline Architectuur Uitgelegd

ETL vs ELT architectuur diagram

ETL vs ELT: Belangrijkste Verschillen

ETL (Extract, Transform, Load) en ELT (Extract, Load, Transform) zijn beide data-integratiepatronen, maar met cruciale technische verschillen:

ETL ELT
Transformatie Locatie In het processing engine (bijv. Spark) In de doel-database (bijv. Snowflake, BigQuery)
Geschikt voor Gestructureerde data, complexe transformaties Grote volumes, semi-gestructureerde data
Tools Informatica, Talend, SSIS dbt, Databricks SQL, Snowpark
Trend: Moderne cloud data platforms (Snowflake, BigQuery, Redshift) hebben 78% van nieuwe implementaties naar ELT doen verschuiven (Gartner 2024).

ETL Architectuur in Detail

ETL pipeline stappen diagram

Codevoorbeeld: ETL met PySpark

# ETL Pipeline met PySpark
from pyspark.sql import SparkSession
from pyspark.sql.functions import *

# 1. EXTRACT
spark = SparkSession.builder.appName("ETL").getOrCreate()
raw_data = spark.read.json("s3://data-lake/raw/sales/*.json")

# 2. TRANSFORM
cleaned_data = (raw_data
  .filter(col("amount") > 0)
  .withColumn("date", to_date("timestamp"))
  .groupBy("date", "product_id")
  .agg(
    sum("amount").alias("daily_sales"),
    avg("amount").alias("avg_price")
  )
)

# 3. LOAD
(cleaned_data.write
  .format("jdbc")
  .option("url", "jdbc:postgresql://db-host:5432/warehouse")
  .option("dbtable", "sales_aggregated")
  .mode("overwrite")
  .save()
)

ELT Architectuur in Detail

ELT pipeline stappen diagram

Codevoorbeeld: ELT met SQL (dbt)

-- ELT Transformatie in SQL (dbt model)
WITH raw_sales AS (
  SELECT * FROM {{ source('lake', 'raw_sales') }}
),

cleaned AS (
  SELECT
    product_id,
    DATE(timestamp) AS date,
    amount
  FROM raw_sales
  WHERE amount > 0
)

SELECT
  date,
  product_id,
  SUM(amount) AS daily_sales,
  AVG(amount) AS avg_price
FROM cleaned
GROUP BY 1, 2

Wanneer Kiezen voor ETL of ELT?

Kies ETL als:

  • Complexe business logic nodig is
  • Bronnen sterk verschillende formaten hebben
  • Je legacy systemen integreert

Kies ELT als:

  • Je een moderne cloud data warehouse hebt
  • Data scientists direct toegang nodig hebben
  • Je schaalbaarheid voor grote volumes nodig hebt

Performance Vergelijking

Metric ETL ELT
Transformatie snelheid Sneller voor complexe logica Sneller voor grote volumes
Kosten Hogere compute kosten Hogere storage kosten
Flexibiliteit Minder flexibel na implementatie Gemakkelijker aan te passen

Veelgestelde Vragen

Is ETL verouderd door ELT?

Nee, ETL blijft essentieel voor:

  • Strikte data governance vereisten
  • Complexe data cleansing voor legacy systemen
  • Scenario's met beperkte rekenkracht in het data warehouse

Kun je ETL en ELT combineren?

Ja, in een hybride aanpak:

  1. ETL voor kritieke data kwaliteitstransformaties
  2. ELT voor analytische transformaties in het warehouse