ETL Nedir? Extract, Transform, Load ve ELT Farkı
ETL, verinin kaynak sistemlerden alınması, temizlenip dönüştürülmesi ve hedef sisteme yüklenmesi sürecidir. Açılımı Extract, Transform, Load yani Çıkar, Dönüştür, Yükle şeklindedir.
Bir şirketin SAP, CRM ve Excel verilerini tek bir satış veri ambarında birleştirmesi tipik bir ETL senaryosudur.
ETL adımları
Extract — veriyi çıkarma
Veri kaynak sistemlerden okunur:
- İlişkisel veritabanları
- ERP ve CRM sistemleri
- Excel ve CSV dosyaları
- API servisleri
- Log ve olay akışları
Bu aşamada tam yükleme veya yalnızca değişen kayıtları alan artımlı yükleme kullanılabilir.
Transform — veriyi dönüştürme
Ham veri iş kurallarına uygun hâle getirilir:
- Veri tipi dönüşümü
- Hatalı ve eksik kayıt kontrolü
- Kodların standartlaştırılması
- Tekrarlı kayıtların temizlenmesi
- Tabloların birleştirilmesi
- Hesaplanan alanların üretilmesi
- İş anahtarlarının eşleştirilmesi
Load — hedefe yükleme
Dönüştürülen veri veri ambarı, veri gölü, lakehouse veya raporlama veritabanına yazılır. Yükleme tam yenileme, artımlı veya gerçek zamanlı olabilir.
ETL ve ELT farkı
| ETL | ELT |
|---|---|
| Dönüşüm yüklemeden önce yapılır | Veri önce yüklenir, sonra dönüştürülür |
| Klasik veri ambarlarında yaygın | Bulut veri platformlarında yaygın |
| Hedefe temizlenmiş veri gider | Ham veri hedefte tutulabilir |
| ETL sunucusu işlem yükünü taşır | Dönüşüm gücünü hedef platform kullanır |
ELT her durumda ETL’den daha iyi değildir. Güvenlik, maliyet, veri hacmi, gecikme ihtiyacı ve platform yetenekleri seçimi belirler.
ETL süreci örneği
Günlük satış raporu için:
- SAP satış tablolarından yeni belgeler alınır.
- Müşteri ve ürün kodları ana verilerle eşleştirilir.
- İptal edilmiş belgeler iş kuralına göre ayrılır.
- Para birimleri ortak raporlama para birimine çevrilir.
- Veri satış fact tablosuna yüklenir.
- Dashboard veri seti yenilenir.
ETL araçları
| Araç | Kullanım yaklaşımı |
|---|---|
| SQL Server Integration Services | Microsoft SQL Server odaklı görsel paketler |
| Azure Data Factory | Bulut tabanlı veri taşıma ve orkestrasyon |
| Informatica | Kurumsal veri entegrasyonu |
| Talend | Veri entegrasyonu ve kalite süreçleri |
| dbt | SQL tabanlı dönüşüm ve analitik mühendisliği |
| Apache Airflow | İş akışı orkestrasyonu |
Aracı ezberlemekten önce kaynak-hedef eşleme, hata yönetimi, artımlı yükleme ve yeniden çalıştırılabilirlik mantığını öğrenmek daha değerlidir.
ETL’de staging alanı nedir?
Staging, kaynaktan alınan verinin geçici olarak tutulduğu katmandır. Amaç kaynak sistemle hedef model arasına kontrollü bir tampon koymaktır.
Staging alanı:
- Kaynak veriyi yeniden çekmeden hata analizi yapmayı,
- Yükleme adımlarını ayırmayı,
- Kaynak sistem üzerindeki yükü azaltmayı,
- Denetim ve mutabakat kayıtları tutmayı
kolaylaştırır.
ETL kalite kontrolleri
Üretim ortamında yalnızca paketin “başarılı” çalışması yeterli değildir:
- Kaynak ve hedef kayıt sayısı karşılaştırılmalı.
- Zorunlu alanlardaki boş değerler izlenmeli.
- Tekil anahtar ihlalleri kontrol edilmeli.
- Toplam tutar ve miktar mutabakatı yapılmalı.
- Hatalı kayıtlar ayrı alana alınmalı.
- Yükleme başlangıç ve bitiş zamanı kaydedilmeli.
ETL ile veri pipeline farkı
Veri pipeline daha geniş bir kavramdır. Veri taşıma, dönüştürme, kalite kontrolü, makine öğrenmesi, bildirim ve rapor yenileme gibi birden fazla işi kapsayabilir. ETL ise pipeline içindeki belirli entegrasyon desenidir.
ETL öğrenmek için uygulama
DataPlaybook’taki ücretsiz SSIS ve ETL eğitiminde staging, lookup, conditional split, slowly changing dimension ve hata yönetimi adımlarını tarayıcıda deneyebilirsiniz.
SQL tarafındaki temel sorguları geliştirmek için interaktif SQL eğitimine geçebilirsiniz.
ETL hakkında sık sorulan sorular
ETL için kodlama gerekir mi?
Görsel ETL araçları kod ihtiyacını azaltabilir; ancak SQL, veri tipi, join ve hata yönetimi bilgisi yine gereklidir.
ETL yalnızca veri ambarı için mi kullanılır?
Hayır. Sistem entegrasyonu, veri göçü, raporlama, arşivleme ve operasyonel veri aktarımında da kullanılabilir.
ETL ile API aynı şey mi?
Hayır. API veri kaynağı veya hedefi olabilir; ETL ise bu verinin alınması, dönüştürülmesi ve yüklenmesi sürecidir.