Modül 2 · İş Akışı Orkestrasyonu · ⏱ 6 dk

ETL mi, ELT mi? Nereyi ne zaman?

ETL vs ELT

Bu derste neler öğreneceksin

  • ETL ve ELT farkını aşçı analojisiyle açıklar
  • Bulut çağında neden ELT tercih edildiğini bilir
  • GCS den BigQuery ye basit bir ELT yazar

Aşçı Analojisi: ETL vs ELT

Bir mutfak düşün. Müşteri sipariş veriyor: “Limonata, buzlu, nane ile.” Aşçının iki yolu var:

ETL (Extract → Transform → Load): Aşçı önce mutfakta limonatayı yapar, bardakları doldurur, nane ekler, sonra servis tabağına koyar. Yani veriyi önce dönüştürür, sonra hedefe yazar.

ELT (Extract → Load → Transform): Aşçı önce bütün malzemeyi büyük bir kaba koyar (limon, su, şeker, nane). Sonra müşteri istediğinde hızlıca bardak hazırlar. Yani ham veriyi önce hedefe yazar, dönüşümü içeride yapar.

Hangisi daha iyi? Duruma göre. Ama bugün bulut çağında (BigQuery gibi dev depolarda) ELT daha popüler. Nedeni basit: depolama ucuz, hesaplama hızlı. Veriyi ham sakla, ihtiyaç olunca dönüştür.

Hangi Yolu Seçmeli?

DurumTercihNeden
Küçük veri, hızlı raporETLDönüşüm hafif, ekstra depolama gereksiz
Büyük veri, esnek analizELTHam veri her soruya cevap verebilir
Sıkı düzenleyici kurallarETLVeri hedefe yazılmadan önce temizlenmiş olmalı
Veri bilimi keşfiELTHam veri daha zengin, keşif kolaylaşır

İlk ELT Akışımız: GCS → BigQuery

Limoncuk dükkanımız için düşün: Instagram siparişleri bir dosyaya düşüyor (gs://lemonade-orders/2026-06-19.csv). Biz bu dosyayı BigQuery’ye yüklemek istiyoruz, ham haliyle. Kestra’da şöyle yazıyoruz:

id: orders_to_bigquery
namespace: lemonade
tasks:
  - id: load_to_bq
    type: io.kestra.plugin.gcp.bigquery.Load
    from: gs://lemonade-orders/{{ trigger.date }}.csv
    destinationTable: lemonade.daily_orders
    writeDisposition: WRITE_APPEND
    format: CSV

Bir görev, iki parametre: dosya nereden, nereye yazılacak. Çalıştır, 30 saniyede tablona ulaştı.

Maliyet ve Hız

ETL’de dönüşüm kendi makinanda olur — elektrik/SSD masrafı senin. ELT’de dönüşüm BigQuery’de olur, sorgu başına ücretlendirilirsin. Az sorgu çalıştırıyorsan ETL ucuz. Çok sorgu + esneklik istiyorsan ELT ucuz. Pratikte startup’lar %80 ELT kullanıyor.

Bugün Yaptık

  • ETL ve ELT’yi aşçı analojisiyle karşılaştırdık
  • Bulut çağında neden ELT’in tercih edildiğini öğrendik
  • GCS’ten BigQuery’ye basit bir yükleme akışı yazdık

Ellerini Kirlet

  1. Bir önceki dersteki Kestra paneline git.
  2. Yukarıdaki YAML’ı orders_to_bigquery adıyla ekle.
  3. trigger.date yerine elle bir tarih yaz (henüz schedule yok), çalıştır.
  4. BigQuery konsolunda tablonun oluştuğunu gör.

Sıradaki

Bir sonraki ders: Zamanlayıcılar ve backfill →