Netflix, Cassandra'dan Iceberg'e Veri Taşımada Casspactor'ü Nasıl Aştı
Netflix, Cassandra'dan Iceberg'e veri taşıyan eski Casspactor motorunun kısıtlarını aşmak için katmanlı, S3 tabanlı yeni bir mimari geliştirdi. Mühendislik detayları.
Netflix, Cassandra'dan Apache Iceberg'e günde yaklaşık 1.200 veri taşıma işlemi ve 3 PB veri aktaran Casspactor adlı motorun sınırlarına dayandığını fark etti. Sistem, backup varlığını ve bütünlüğünü doğrulamak için birden fazla bağımsız servise dayanıyordu; bu da senkron kaybı, kırılgan metadata zincirleri ve tek bir node değişikliğinin tüm bölgesel veri taşımasını bozabilmesi gibi sorunlara yol açıyordu. Ayrıca Key Value ve Time Series gibi üst düzey veri soyutlamaları Casspactor'ün sınırlarını (bellek taşmaları, veri modeli farkındalığı eksikliği, ara tablo şişkinliği, zaman içinde geri dönememe) miras alıyordu.
Netflix bu sorunları çözmek için Amazon S3'teki backup dosyalarından doğrudan metadata okuyan, katmanlı bir mimari geliştirdi. Yeni motorun temelini Cassandra Analytics Wrapper oluşturuyor; bu katman ham backup verisini standart Spark DataFrame'lerine dönüştürüyor. Üzerine inşa edilen "Connector Factory" modeli, her veri soyutlamasının kendi modeline özgü, optimize edilmiş bağlayıcılar oluşturmasına imkan tanıyor.
Sonuç olarak sistem artık geniş partition'ları Spark executor seviyesinde işleyebiliyor, ara Iceberg tablolarına ihtiyaç duymuyor, iş boyutlandırmasını otomatik ayarlıyor ve kırılgan çoklu servis bağımlılıklarını ortadan kaldırıyor. Bu mimari, büyük ölçekli veri altyapılarında tek monolitik bağlayıcı yerine paylaşılan bir temel üzerine kurulu, yeniden kullanılabilir bağlayıcı ailelerinin nasıl tasarlanabileceğine dair somut bir örnek sunuyor.