Perplexity, çekirdek arama katmanında DynamoDB yerine CobbleDB kullanmaya başladı
Şirket, Rust ile yazdığı CobbleDB’ye geçerek arama sorgularında gecikmeyi ciddi biçimde düşürdü; yeni mimari, kalıcı veri, batch hazırlığı ve düşük gecikmeli servisi üç ayrı bileşene bölüyor.
Perplexity, çekirdek arama sorgularını artık DynamoDB yerine kendi geliştirdiği Rust tabanlı key-value veritabanı CobbleDB üzerinden çalıştırıyor. Bu katman, özellikle büyük dil modeli sorgularında gereken çok sayıda sayfa anahtarını toplu olarak okumak için tasarlandı ve önceki bulut veritabanı katmanının yerini aldı.
Yeni depolama mimarisi, sistemi üç ayrı bileşene ayırıyor: kalıcı durum Pillar üzerinde tutuluyor, batch dosyalarının birleştirme ve hazırlama süreci Lorry tarafından yürütülüyor, düşük gecikmeli sorgulama ise CobbleDB üzerinden yapılıyor. Aralarındaki veri aktarımı için Amazon S3 kullanılıyor ve böylece okuma katmanı yazma yükünden ayrıştırılıyor.
Üretim ortamında yapılan ölçümler, toplu okuma gecikmesinin farklı yüzdelik dilimlerinde belirgin iyileşme gösterdi. Medyan batch okuma gecikmesi 31.4 ms seviyesinden 5.60 ms’e düştü. p90 gecikme 56.7 ms’ten 9.77 ms’e, p99 gecikme ise 123 ms’ten 24.2 ms’e geriledi.
Bu değişim yalnızca hız tarafında değil, depolama maliyetlerinde de etkili oldu. Şirket, yeni yapıyla birlikte bulut depolama maliyetlerinde en az yüzde 20 düşüş bildirdi. Okuma katmanının kendi formatına göre optimize edilmesi, depolama katmanındaki yükü de hafifletti.
Yapılan sentetik benchmark’larda CobbleDB, 100 kilobyte’a kadar payload boyutlarıyla saniyede 500,000 istek işleyebildi. Sistemin replikaları asenkron güncellendiği için, bu yüksek throughput karşılığında belirli bir tutarlılık gecikmesi kabul ediliyor.
CEO Aravind Srinivas’a göre, CobbleDB’nin yaklaşık 40,000 satırlık Rust kod tabanı iki sistem mühendisi ve AI coding agent’ların yardımıyla iki ayda yazıldı. Perplexity, CobbleDB’yi ilerideki bir sürümde açık kaynak olarak yayımlamayı planlıyor.
Neden önemli
Perplexity’nin DynamoDB’den CobbleDB’ye geçişi, yoğun batch okuma yapan, büyük dil modeli destekli arama sistemlerinde özel amaçlı bir key-value katmanının hem gecikmeyi hem de depolama maliyetini kayda değer biçimde azaltabildiğini gösteriyor. Mimarinin kalıcı yazma, batch hazırlığı ve düşük gecikmeli okuma işlevlerini ayırması, okuma tarafında daha sıkı optimizasyonlara alan açıyor. CobbleDB’nin kısa sürede, az sayıda mühendisle ve AI destekli geliştirme ile ortaya çıkmış olması, benzer ölçekli sistemler kurmak isteyen ekipler için geliştirme sürecine dair bir işaret sunuyor. Projenin açık kaynaklanma planı, bu yaklaşımın ileride daha geniş bir topluluk tarafından incelenip yeniden kullanılmasına zemin hazırlayabilir.
Sinyal mi, gürültü mü?
Bu haber önemli mi, yoksa abartı mı? Başkalarının ne dediğini görmeden önce sen karar ver.
Kaynaklar
- InfoQ