Ana içeriğe geç
Bulut & Altyapı

ParadeDB Postgres üzerinde BM25 arama hızını artırdı

Öne çıkanlar

  • Alan normlarının terim listeleri yanına taşınması ilgili sayfa erişimlerini 1500 düzeyinden 30 sayfaya düşürdü.
  • Blockmax MAXSCORE algoritmasının entegrasyonu çok terimli sorgularda gecikmeyi 8 kata kadar azalttı.
  • TIN testlerinde yaygın sözcük atlama ayarının kapatılmasıyla tam BM25 karşılaştırmasında başa baş sonuçlar alındı.
  • Yapılan mimari iyileştirmeler Tantivy projesine aktarıldı ve ParadeDB 0.26.0 sürüm adayıyla sunuldu.

ParadeDB ekibi, PlanetScale tarafından geliştirilen TIN eklentisinin yayımlanmasının ardından arama motoru mimarisinde kapsamlı optimizasyonlara gitti. PlanetScale iki hafta önce tanıttığı TIN ile BM25 sıralı metin aramalarında ParadeDB 0.25 sürümüne kıyasla en az 8 kat hız avantajı elde ettiğini duyurdu. TIN mimarisinin Postgres dahili ctid değerlerini doğrudan belge kimliği olarak kullanmasına karşılık ParadeDB, mevcut Tantivy altyapısındaki sıralı tamsayı u32 kimlik modelini koruyarak performans farkını kapattı.

Ekip, BM25 puanlama sürecindeki rastgele disk ve bellek erişimlerini azaltmak için alan normu dizilerini her terimin ters dizin listesinin yanına taşıdı. Bu düzenleme Postgres sayfa erişimlerini yaklaşık yüzde 98 düşürürken, çok terimli ayrık sorgularda Blockmax WAND yerine MAXSCORE algoritması devreye alındı. Söz konusu seçim metriği, 10 terimli Hacker News sorgusunda p50 gecikmesini 6 kat, p95 gecikmesini ise 8 kat azalttı. Ayrıca PlanetScale testlerindeki yaygın terim atlama ve sorgu sözdizimi farkları giderilerek tam BM25 doğruluğunda ölçümler yapıldı.

Elde edilen kazanımlar Tantivy açık kaynak kütüphanesine aktarılmaya başlandı ve ParadeDB 0.26.0 sürüm adayına dahil edildi. Geliştiriciler, u32 kimliklerinin sütun tabanlı depolama, filtreleme ve kategorilendirme operasyonlarında ctid yöntemine kıyasla daha verimli sıkıştırma ve erişim sağladığını belirtti. Optimizasyonların tümünden yararlanmak için mevcut ParadeDB kullanıcılarının indeksleri yeniden oluşturması gerekiyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.