ETL Nedir? Extract, Transform, Load Sürecinin Açıklaması
ETL, verinin kaynak sistemlerden çıkarılıp dönüştürülerek hedef sisteme yüklenmesidir. Adımlar, örnek, ELT farkı ve sık yapılan hatalar.
ETL nedir?
ETL, "extract, transform, load" ifadesinin kısaltmasıdır: veriyi kaynak sistemlerden çıkarma, dönüştürme ve hedef bir sisteme yükleme sürecidir. Hedef çoğunlukla bir veri ambarıdır.
Amaç, farklı sistemlerde farklı biçimlerde duran verileri tek bir yerde, tutarlı ve analize hazır hale getirmektir. Raporlama ve iş zekası çalışmalarının güvenilir olması çoğu zaman düzgün kurulmuş ETL süreçlerine bağlıdır.
ETL'in üç adımı
Çıkarma (extract): Veri kaynaklarından okunur. Kaynak bir sipariş veritabanı, bir CRM, bir tablo dosyası ya da bir dış hizmetin arayüzü olabilir. Bu adımda kaynak sistemi yormamak için genellikle yalnızca yeni ya da değişen kayıtlar alınır.
Dönüştürme (transform): Ham veri temizlenir ve ortak bir biçime getirilir. Tipik işlemler: • Eksik ve hatalı değerleri düzeltmek ya da ayıklamak • Tarih, para birimi ve ölçü birimlerini standartlaştırmak • Mükerrer kayıtları birleştirmek • Farklı tabloları ilişkilendirmek ve türetilmiş alanlar hesaplamak
Yükleme (load): Dönüştürülmüş veri hedef sisteme yazılır. Yükleme tüm veriyi baştan yazabilir ya da yalnızca değişiklikleri ekleyebilir.
Küçük bir örnek
Bir perakende şirketi mağaza satışlarını bir sistemde, e-ticaret siparişlerini başka bir sistemde tutuyor. Yönetim tüm satışları ürün ve şehir bazında tek raporda görmek istiyor.
ETL süreci her gece iki sistemden yeni satış satırlarını çeker. Ürün kodları iki sistemde farklı yazıldığı için bir eşleştirme tablosuyla ortak koda çevrilir, tarihler aynı biçime getirilir, iptal edilen siparişler ayıklanır. Sonuç veri ambarındaki tek bir satış tablosuna yüklenir ve rapor araçları bu tabloyu okur.
ETL ile ELT farkı
ELT'de sıralama değişir: veri önce ham haliyle hedef sisteme yüklenir, dönüştürme hedefin içinde yapılır. Bulut tabanlı veri ambarları ve veri gölleri güçlü işlem kapasitesi sunduğu için bu yaklaşım yaygınlaşmıştır.
ETL'de dönüştürme ayrı bir işlem katmanında yapılır; hedefe yalnızca temizlenmiş veri girer. Bu, hassas verinin yüklemeden önce maskelenmesi gerektiğinde ya da hedef sistemin esnekliği sınırlı olduğunda avantajdır. ELT ise ham veriyi saklayıp sonradan farklı biçimlerde yeniden işleme esnekliği verir. Hangisinin seçileceği veri hacmi, yönetişim kuralları ve ekibin yetkinliğine göre belirlenir.
Veri ambarı ve veri gölü ile ilişkisi
Veri ambarı düzenli, şemalı ve raporlamaya hazır veriyi tutar; ETL bu ambarı besleyen klasik hattır. Veri gölü ise ham ve yapısı farklı verileri olduğu gibi saklar; burada dönüştürme çoğunlukla sonradan, ihtiyaç doğduğunda yapılır.
Kısacası ETL bir depolama türü değil, verinin bir yerden başka bir yere taşınırken işlendiği süreçtir. Aynı süreç ambara da göle de veri taşıyabilir.
ETL'de sık yapılan hatalar
- Veri kalitesi kurallarını yazmadan yüklemek; hatalı veri sessizce raporlara girer.
- Hata ve gecikme izlemesi kurmamak; gece çalışan bir iş başarısız olduğunda sabah kimse fark etmez.
- Kaynak sistemdeki bir sütun değiştiğinde süreç kırılsın diye bırakmak; şema değişikliğini yöneten bir süreç gerekir.
- Dönüştürme mantığını belgelemeden tek kişinin kodunda bırakmak.
- Her seferinde tüm veriyi yeniden yüklemek; hacim büyüdükçe süre ve maliyet artar.
İyi bir ETL hattı yeniden çalıştırılabilir olmalı: aynı işi ikinci kez çalıştırmak veriyi bozmamalı.
ETL'i nerede öğrenebilirsiniz?
ETL; SQL, veri modelleme ve raporlama bilgisinin birleştiği bir alandır. Mindset'in SQL ile Programlama Eğitimi sorgular, birleştirmeler ve toplama konularını işler. Veritabanı Yönetim Sistemleri ve Uygulamaları programında veri modelleme ve tasarım modülü bulunur. Uygulamalı Power BI programında ise "Power BI ile Veri Yığını Entegrasyonu" ve veri modelleme başlıkları yer alır.
İlgili Mindset programı
SQL ile Programlama Eğitimi
Sık sorulan sorular
ETL araçsız yapılabilir mi?
Evet. Küçük hacimlerde SQL betikleri ve zamanlanmış görevlerle de ETL yapılabilir. Ancak kaynak sayısı, hacim ve izleme ihtiyacı arttıkça hata yönetimi, zamanlama ve kayıt tutmayı sağlayan özel veri hattı araçları iş yükünü azaltır.
ETL ne sıklıkla çalışır?
İhtiyaca göre değişir. Birçok raporlama senaryosunda gece toplu çalışma yeterlidir; anlık karar gerektiren durumlarda veri sürekli akış olarak, kısa aralıklarla ya da olay geldikçe işlenir. Gereken tazelik düzeyini iş birimiyle birlikte belirlemek gerekir.
ETL ile veri entegrasyonu aynı şey mi?
Veri entegrasyonu daha geniş bir kavramdır: verinin farklı sistemler arasında birleştirilmesi ve paylaşılması anlamına gelir. ETL bu hedefe ulaşmanın yöntemlerinden biridir. Sistemler arası gerçek zamanlı bağlantı ya da veri sanallaştırma da entegrasyon yöntemleridir.
ETL öğrenmek için programlama bilmek şart mı?
Görsel arayüzlü araçlarla temel süreçler kodsuz kurulabilir, ancak SQL bilgisi neredeyse her durumda gerekir. Karmaşık dönüştürmelerde Python gibi bir dil de işi kolaylaştırır. Önce SQL ve veri modelleme temellerini sağlamlaştırmak iyi bir başlangıçtır.
İlgili rehberler
İlgili eğitimler
Kategori: Veri Analitiği ve İş Zekası, Veri Mühendisliği ve MLOps