DevOps·3 dk okuma·

Vektör Veritabanlarının Sonu: turbopuffer v3 ve Birincil İndeks Devrimi

Paylaş
DevOpsEdumints Blog

turbopuffer, arama ve veri işleme performansını yeni bir boyuta taşımak amacıyla temel depolama mimarisini köklü bir şekilde yeniliyor. turbopuffer v3; dokümanların ve indekslerin disk üzerindeki yerleşimini, yazma, sıkıştırma (compact) ve sorgulama süreçlerini baştan tanımlıyor. Bu dönüşüm yalnızca metin, düzenli ifade (regex) ve vektör aramalarını hızlandırmakla kalmıyor; aynı zamanda karmaşık analitik SQL sorgularının da veritabanı üzerinde yüksek hızda çalışabilmesi için sağlam bir zemin hazırlıyor.

v1'den Bugüne: Mimari Ödünleşimin Evrimi

turbopuffer pazara ilk olarak son derece ucuz ve yeterince hızlı vektör araması sunmaya odaklanan sunucusuz (serverless) bir vektör veritabanı (v1) olarak çıktı. Sistemin arkasındaki çekirdek mimari strateji iki kritik bileşene dayanıyordu:

  • Ekonomik Ölçeklenebilirlik: Gerçek veri kaynağı (source of truth) olarak ucuz nesne depolamanın (object storage) kullanılması.
  • Yüksek Performans: Çok katmanlı NVMe SSD ve bellek önbellekleri (tiered caching) sayesinde gecikmenin minimize edilmesi.

Bu mimari model, Cursor ve Notion gibi ilk müşterilerin ihtiyaçlarıyla sahada doğrulandı. Zamanla sistem güçlü tam metin ve regex arama yetenekleri kazanarak (v2) sürümüne ulaştı ve Linear'ın senkronizasyon motoru gibi arama dışı karmaşık senaryolarda da kullanılmaya başlandı.

Vektör-Birincil Yaklaşımın Tıkanması

Sorgu motoru zengin sorgu planlarını destekleyecek şekilde gelişse de alttaki depolama katmanı neredeyse hiç değişmedi. Yaklaşık En Yakın Komşu (ANN) vektör indeksi, diğer tüm indekslerin ve sorguların etrafında döndüğü birincil indeks (primary index) konumunu korudu. Ancak bu yapı zamanla ciddi kısıtlar yarattı:

  • GROUP BY ve analitik toplulaştırma (aggregation) sorgularında performans darboğazları oluştu.
  • Vektör merkezli mimari sınırlarına ulaştı.

turbopuffer ekibi bu mimariyi sonuna kadar zorladıktan sonra rotayı değiştirdi: v3 ile birlikte genel amaçlı yeni bir birincil indekse geçiliyor ve ANN indeksi sıradan bir ikincil indeks (secondary index) seviyesine indirgeniyor.

v1 Mimarisi: Hiyerarşik Kümeleme ve Anahtar-Değer Katmanı

İlk versiyonda dokümanlar yalnızca bir kimlik (ID) ve bir vektörden oluşuyordu. Dönemin yaygın tercihi olan grafik tabanlı indeksler yerine, nesne depolama formatıyla çok daha uyumlu çalışan hiyerarşik kümeleme modeli seçildi:

  • Başlangıçta SPANN algoritması kullanıldı; ardından artımlı indekslemeyi (incremental indexing) desteklemek için SPFresh mimarisine geçildi.
  • Vektörler gruplara ayrıldı; her grubun merkez vektörü (centroid) bir üst kademede yeniden kümelenerek tek bir kök merkeze (root centroid) uzanan ağaç yapısı kuruldu.
  • Bu hiyerarşi, sıralı ve benzersiz anahtarlara sahip bir anahtar-değer (KV) depolama katmanında ClusterId ve yoğun LocalId mantığıyla modellendi.

Mühendisler ve Öğrenenler İçin Pratik Çıkarımlar

  • Dar Uzmanlaşmış Çözümlerin Sınırları: Yalnızca vektör aramasına odaklanan izole yapılar, modern sistemlerde ilişkisel ve analitik ihtiyaçlar doğduğunda yetersiz kalır.
  • Depolama Katmanı Ayrıştırması: Nesne depolama ile yerel NVMe/RAM önbellek katmanlarını ayrıştırmak, ölçeklenebilir ve maliyet odaklı sistem tasarımının anahtarıdır.
  • Donanıma Uygun Algoritma Seçimi: Grafik indeksler yoğun bellek isterken, kümeleme tabanlı ağaç indeksleri nesne depolamada çok daha yüksek maliyet verimliliği sunar.

Orijinal kaynağa buradan ulaşabilirsiniz.


Bu konuyu derinlemesine öğrenmek isterseniz: Ölçeklendirme ve Optimizasyon modülüne göz atın.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →