data-infra

Veri Boru Hattı (Data Pipeline)

Veri boru hattı (data pipeline), verileri bir veya birden fazla kaynak sistemden (veritabanları, API'ler, olay akışları, dosya yüklemeleri) bir hedefe (veri ambarı, vektör deposu, analitik gösterge paneli, başka bir uygulama) taşırken yolda dönüşümler uygulayan - bozuk kayıtları temizleyen, formatları yeniden şekillendiren, satırları ek verilerle zenginleştiren veya yinelenenleri ayıklayan - otomatik, genellikle sıralı bir dizi işlem adımıdır. AI/SaaS kurucuları için neden önemli: ürün yüzeyi ne kadar basit görünürse görünsün, neredeyse her AI özelliği arka planda bir boru hattına dayanır. "Verinizle sohbet edin" özelliği, dokümanları nerede olurlarsa olsunlar çeken, parçalara ayırıp embed eden ve kaynak dokümanlar değiştikçe vektör deposunu senkron tutan bir boru hattına ihtiyaç duyar. Kullanıma dayalı faturalandırma özelliği, ham olay verilerini günlük/aylık özetlere toplayan bir boru hattına ihtiyaç duyar. Bunları tek seferlik betikler olarak inşa etmek bir demo için işe yarar; gözlemlenebilir, yeniden denenebilir, idempotent boru hatları olarak inşa etmek ise kırılgan bir yan projeyi müşterilerin verisine güvenebileceği bir üründen ayıran şeydir. Nasıl çalışır: boru hatları genellikle ya toplu (batch - birikmiş veriyi bir programa göre işleme, gece boyunca ya da saatlik) ya da akışlı (streaming - olayları geldikçe sürekli işleme, genellikle Kafka veya Redis Streams gibi bir mesaj kuyruğu üzerinden) olarak tanımlanır. Çoğu production boru hattı, adımlar arasındaki bağımlılıkları izleyen, hataları yeniden deneyen ve sessizce başarısız olmak yerine hatalarda uyarı veren bir zamanlayıcı/DAG aracı (Airflow, Dagster, Prefect veya daha küçük ekipler için daha basit cron tabanlı iş çalıştırıcıları) tarafından yönetilir. İyi tasarlanmış bir boru hattı idempotenttir - aynı girdi üzerinde yeniden çalıştırıldığında veriyi çoğaltmak yerine aynı çıktıyı üretir - bu, bir adım yarıda başarısız olduğunda ve güvenle yeniden denenmesi gerektiğinde son derece önemlidir. Gözlemlenebilirlik (her aşamaya giren ve çıkan satır sayılarını loglamak, boru hattı çalışma süresini takip etmek, anormalliklerde uyarmak), bir boru hattını kara kutudan ekibin gerçekten gece yarısı 2'de debug edebileceği bir şeye dönüştüren unsurdur. Somut örnek: B2B bir SaaS, AI tarafından üretilen bir hesap sağlığı özetini beslemek için müşteri CRM verilerini her gece senkronize eder. Boru hattı: (1) çıkarma (extract) - son başarılı çalıştırmadan bu yana yeni/güncellenmiş kayıtları, saklanan bir `last_synced_at` filigranı kullanarak Salesforce'un API'sinden çeker; (2) dönüştürme (transform) - alan adlarını normalize eder, aşağı akışta gerekmeyen PII alanlarını kaldırır, gerekli alanları eksik olan kayıtları sessizce atmak yerine bir dead-letter kuyruğu için işaretler; (3) yükleme (load) - dahili Postgres veri ambarı tablosuna upsert eder ve değişen hesap notu alanlarını vektör deposuna yeniden embed eder. Her aşama, satır sayılarını bir izleme gösterge paneline loglar ve çıkarılan satır sayısı 7 günlük ortalamaya göre %50'den fazla düşerse bir Slack uyarısı tetiklenir - bu da bozuk bir Salesforce API token'ının bir hafta boyunca sessizce veri senkronizasyonunu durdurmasını, sorun büyümeden önce yakalar.

İlgili terimler

Daha fazla Veri ve Altyapı terimi