Yapay zeka temelleri
ETL Nedir? Çıkarma, Dönüştürme, Yükleme Açıklaması
ETL—extract, transform, load—veri entegrasyonu deseni olup, kaynak sistemlerden verileri okur, doğrular ve yeniden şekillendirir, ardından analiz, raporlama, makine öğrenimi veya operasyonlar için uygun bir hedefe yazar.
Üretim ortamındaki bir ETL boru hattı sadece üç kutudan ibaret değildir. Tekrarlanabilir yürütme, şema ve kalite kontrolleri, veri izlenebilirliği, orkestrasyon, gözlemlenebilirlik, güvenlik ve mantık değiştiğinde verileri geri doldurmak veya yeniden oynatmak için güvenli bir yol gerektirir.
Temel Çıkarımlar
- Çıkarma, kaynak üzerindeki etkiyi en aza indirmeli ve hangi zaman aralığının ya da değişiklik kümesinin yakalandığını kaydetmelidir.
- Dönüştürmeler iş anlamını kodlar, bu yüzden sürüm kontrolü, testler ve sorumluluk gerektirir.
- Yüklemeler idempotent olmalı veya aksi takdirde çift kayıtlar ve kısmi hatalara karşı koruma sağlamalıdır.
- ETL ve ELT arasındaki fark çoğunlukla dönüşümün nerede çalıştığıdır; modern sistemler genellikle her ikisini de kullanır.

Verileri Güvenilir Şekilde Çıkar
Kaynaklar veritabanları, dosyalar, API’ler, olay akışları ve uygulamaları içerebilir. Tam bir çıkarma, bütün veri kümesini kopyalar; artımlı çıkarma, bir kontrol noktasından beri değişen kayıtları okur. Değişiklik verisi yakalama, veritabanı günlüklerini veya olayları tüketerek tekrarlanan taramaları azaltır.
Kaynak tanımlayıcılarını, zaman sınırlarını ve kontrol noktalarını kaydedin. Hız sınırlamalarına ve işlem semantiğine saygı gösterin. Bir kaynak şemayı sessizce değiştirirse, belirsiz verileri sanki bir şey olmamış gibi yüklemek yerine güvenli bir şekilde hata verin ya da kayıtları karantinaya alın.
Açık Sözleşmelerle Dönüştür
Dönüştürmeler, tip ve birimleri standartlaştırır, kayıtları ayrıştırır, kaynakları birleştirir, çiftleri kaldırır veya işaretler, iş kurallarını uygular ve özellikleri hesaplar. Geçersiz verileri eksik ama kabul edilebilir verilerden ayırın ve çıktıyı girdilerine geri izleyebilmek için yeterli kanıtı saklayın.
Dönüştürmeleri, yazılım teslimi gibi disiplinli bir şekilde sürümleyin. Testler şema, aralıklar, referans bütünlüğü, beklenen dağılımlar ve bilinen örnekleri kapsamalıdır. Veri sözleşmesi, üretici ve tüketici arasındaki beklentileri tanımlar.
Güvenli ve Tekrarlanabilir Yükleme
Bir yükleme, olayları ekleyebilir, değişen kayıtları birleştirebilir, bir bölümü değiştirebilir ya da bir tabloyu yeniden oluşturabilir. İdempotans, aynı girdiyi yeniden çalıştırmanın aynı hedef durumunu üretmesi anlamına gelir. İşlemler, hazırlık tabloları ve atomik takaslar, kısmi güncellemelerden kaynaklanan riskleri azaltır.
Bölümleme ve indeksleme, tüketim desenlerine uygun olmalıdır. Hassas alanları koruyun ve veriler sorgulanabilir hâle gelmeden önce hedef izinlerini uygulayın. Saklama ve silme gereksinimleri verilerle birlikte taşınmalıdır.
ETL, ELT, toplu ve akış
Geleneksel ETL, yüklemeden önce ayrı bir motor içinde dönüştürür. ELT, ham ya da hafif işlenmiş verileri önce yükler, ardından dönüşüm için hedef hesaplamayı kullanır. Bulut veri ambarı veya göl evi, ELT’yi kolaylaştırabilir, ancak kalite ya da yönetişim çalışmalarını ortadan kaldırmaz.
Toplu boru hatları sınırlı zaman aralıklarını işler; akış boru hatları tanımlı zaman ve sıralama semantiğiyle sürekli olayları işler. Birçok mimari, gecikmiş veya düzeltilmiş verilerin normal olduğu durumlarda, akış alımını ardından periyodik uzlaştırma ile kullanır.
Orkestrasyon, İzlenebilirlik ve Gözlemlenebilirlik
Bir orkestratör görevleri zamanlar, bağımlılıkları gözetir, tanımlı hataları yeniden dener ve durumu kaydeder. Yeniden denemeler limit ve idempotent görevler gerektirir. Geri doldurmalar izole ve kapasite farkında olmalı, böylece tarihsel onarımlar mevcut verileri aksatmaz.
Tazelik, hacim, şema, kalite, süre ve maliyeti izleyin. veri kumaşının izlenebilirlik ve meta veri katmanı, tüketicilerin hangi sürümün veri kümesini ürettiğini ve yukarı akışta neyin kırıldığını anlamalarına yardımcı olur.
Çıkarma: kaynaklar, sözleşmeler ve artımlı yakalama
ETL, veri kaynak sistemlerinden verileri taşır, bunları yönetilen yapılara dönüştürür ve bir hedefe yükler. Çıkarma, dosyalar, veritabanı sorguları, API’ler, günlükler, akışlar veya değişiklik verisi yakalama (change-data capture) kullanabilir. Kaynak sahipliğini, şemayı, anahtarları, zaman damgalarını, saat dilimini, birimleri, silme semantiğini ve izin verilen yüklemeyi tanımlayın. Tam çıkarımlar basit ama maliyetlidir; artımlı yakalama hacmi azaltır ancak su işaretleri, günlük konumları veya sürüm alanları ve gecikmiş ve düzeltilmiş kayıtlar için bir strateji gerektirir.
Bir API başarısının tam bir çıkarma anlamına geldiğini varsaymayın. Kayıt sayıları, kontrol toplamları, sıra boşlukları, sayfalama, hız sınırlamaları, yeniden denemeler ve kaynak anlık görüntülerini kaydedin. Politikaların izin verdiği yerde değiştirilemez ham veriyi depolayın, böylece dönüşümler yeniden oynatılabilir. Kimlik bilgilerini ve hassas alanları koruyun ve yeniden denemeleri idempotent yapın. Şema değişiklikleri, aşağı akış panosu sessizce değiştiğinde keşfedilmek yerine, sözleşmeler aracılığıyla uyumlu ya da kırıcı olarak sınıflandırılmalıdır.
Tekrarlanabilir Semantiklerle Dönüştür ve Yükle
Dönüştürmeler tipleri ayrıştırır, birimleri standartlaştırır, çiftleri kaldırır, birleştirir, iş kurallarını uygular, geçmişi yönetir ve gerçekler ile boyutlar türetir. Her kural test ve izlenebilirlik gerektirir. ETL, ML’ye veri sağladığında istatistiksel ön işleme yalnızca uygun eğitim verileri üzerinde uygulanmalıdır. Yavaş değişen boyutlar, öznitelik değişikliklerinin üzerine yazıp yazmayacağını ya da geçmişi koruyup korumayacağını belirler. Birleştirmeden önce gerçek granülasyonunu ilan edin; çok-çok hataları, temel satır kontrollerini geçebilen yinelenen ölçümler oluşturur.
Yükleme, ekleme, birleştirme, bölümleri değiştirme veya kayıtları güncelleme şeklinde olabilir. Okuyucuların kısmi durumu görmemesi için mümkün olduğunca hazırlık tabloları ve atomik takaslar kullanın. Tekillik, ilişkiler, kabul edilen değerler, tamlık ve iş sabitlerini zorlayın. Geç olayları ve geri doldurmaları olay zamanı ve sürümlü kod ile yönetin. Kaynak toplamlarına karşı uzlaştırma, finansal ve operasyonel veriler için esastır. ELT, dönüşümden önce hedefte ham veri yükler; yönetişim ve doğruluk gereksinimleri aynı kalır.
Operasyonlar ve Kurtarma
Orkestrasyon, bağımlılıkları, zamanlamaları, yeniden denemeleri, eşzamanlılığı ve uyarıları yönetir. Tazelik, hacim, kalite, süre, maliyet ve aşağı akış etkisini izleyin. Başarısız bir iş, çoğaltma olmadan devam etmeli veya yeniden oynatılmalıdır. Kod ve şemaları sürümleyin, izlenebilirliği sürdürün ve geri doldurmaları izole bir şekilde test edin. Felaket kurtarma, ham veri, kataloglar, izinler, orkestrasyon durumu ve semantik tanımları içerir. ETL, bir kullanıcının bir metriği kaynaklara izleyebilmesi ve değişiklik sonrası yeniden üretebilmesi durumunda güvenilirdir—sadece yeşil bir boru hattının tamamlanması değil.
Uygulamalı Örnek: Artımlı Sipariş Boru Hattı
Bir ETL işi, sipariş ve öğeler için veritabanı değişiklik günlüklerini okur, değiştirilemez olayları depolar, sıra ve şemayı doğrular ve bunları bir veri ambarı gerçek tabloya tek bir sipariş-satır granülasyonunda birleştirir. Olay zamanı ve güncelleme sürümü gecikmiş düzeltmeleri yönetir; deterministik anahtarlar yeniden oynatmayı idempotent hâle getirir. Boyutlar, seçilen müşteri ve ürün geçmişini surrogate anahtarlar aracılığıyla korur. Satır sayıları, sipariş toplamları, vergiler, iadeler ve iptaller kaynak dönemlerle uzlaştırılır.
Kırıcı bir kaynak alanı değişikliği, güvenilir tablolara promosyonu durdurur ve aşağı akış izlenebilirliğiyle sahipleri uyarır. Geri doldurmalar, sürümlü kodla izole bir şekilde çalıştırılır ve atomik takas öncesinde karşılaştırılır. Erişim politikası müşteri tanımlayıcılarını kısıtlar ve silme, izin verilen türetilmiş kopyalara yayılır. İzleme, tazelik, hacim, kalite, maliyet ve gösterge tablosu etkisini kapsar. Kurtarma testleri, ham olaylardan bir dönemi yeniden inşa eder ve orkestrasyon durumunu geri yükler. İş sayıları tekrarlanabilir ve uzlaştırılmış olmadıkça yeşil bir zamanlayıcı yeterli değildir.
Uygulama Kanıtları ve Operasyonel Hazırlık
Üretim kararı, sadece başarılı bir gösterimden daha fazlasını gerektirir. Hedef kullanıcıları, işletim ortamını, girdileri, çıktıları, bağımlılıkları, sorumluyu ve her önemli hatanın sonucunu tanımlayın. Ayarlamadan önce tekrarlanabilir bir temel ve sürümlü bir değerlendirme seti oluşturun. Normal durumları, sınır koşullarını, hatalı ya da eksik girdileri, dağılım kaymalarını, bağımlılık kesintilerini, kötü kullanımları ve hizmet dışı kalma ihtimali yüksek grup ya da ortamları test edin. Görev kalitesini kalibrasyon veya belirsizlik, gecikme, throughput, kaynak maliyeti, erişilebilirlik, gizlilik ve güvenlik ile birlikte ölçün. Bağımsız bir inceleyicinin sonucu yeniden üretebilmesi ve kanıtı çekici bir prototipten ayırabilmesi için her dönüşüm ve eşik kaydedilsin.
Başlamadan önce, sürüm, istisna, değişiklik, geri alma ve emeklilik yetkisini atayın. Aşamalı bir dağıtım kullanın, güvenli bir geri dönüşü koruyun ve kasıtlı olarak eklenen hatalarla izlemeyi doğrulayın. Operasyonel telemetri, gereksiz hassas veri toplamayarak giriş kalitesini, çıktı davranışını, model ya da kural sürümünü, bağımlılık sağlığını, insan müdahalelerini ve doğrulanmış sonuçları ortaya koymalıdır. Uyarı eşiklerini ve bir yanıt sorumlusunu tanımlayın, ardından dağıtımdan sonra gerçek dünya kanıtlarını gözden geçirin; çevrim dışı performansın devam edeceğini varsaymayın. Veri kaynakları, kullanıcılar, modeller, satıcılar, politikalar, donanım veya hedefler değiştiğinde yeniden değerlendirin. Sürekli bir sistem, belgelenmiş kurtarma, olay öğrenimi, silme ve saklama prosedürleri ve devre dışı bırakılması ya da değiştirilmesi gereken net bir noktaya da ihtiyaç duyar.
Sıkça Sorulan Sorular
ETL, bulut veri platformlarında artık kullanılmaz mı?
Hayır. Bazı platformlar ELT’yi tercih eder, ancak çıkarma, dönüşüm ve yükleme sorumlulukları hâlâ mevcuttur. Takımlar genellikle her iki deseni birleştirir.
Bir ETL boru hattını idempotent yapan nedir?
Aynı girdiyi güvenli bir şekilde yeniden işleyebilir ve çift ya da tutarsız hedef durumu oluşturmaz; genellikle kararlı anahtarlar, kontrol noktaları ve işlem yazımları sayesinde.












