- Büyük ölçekli vektörleri maliyet verimli şekilde yönetmek için PostgreSQL için yeni bir vektör arama eklentisi
- 768 boyutlu 100 milyon vektör için ilk 10 sorguda QPS 131 ve 0.95 doğruluk elde edebiliyor
- Aylık 250 dolarla tek bir makinede çalıştırılabiliyor
- 400.000 vektör 1 dolara depolanabiliyor:
- Pinecone'a (storage-optimized instance) kıyasla 6 kat daha ucuz
- pgvector'a kıyasla 26 kat daha ucuz
HNSW (Hierarchical Navigable Small Worlds) tabanlı vektör veritabanlarının sorunları
- Uzun indeks oluşturma süresi: 5 milyon kayıt için 2 saatten fazla sürüyor
- Yüksek bellek gereksinimi: 10 milyon vektör depolarken 40 GB'a kadar gerekiyor
VectorChord'un yenilikçi çözümü: disk dostu IVF+RaBitQ
- IVF (ters dosya indeksi) ve RaBitQ niceleme kullanıyor
- 32 bit vektörleri sıkıştırılmış bit temsiline dönüştürerek hesaplama maliyetini azaltıyor
- Karşılaştırmaların çoğu sıkıştırılmış vektörlerle yapılıyor; doğruluğu garanti etmek için az sayıdaki vektör üzerinde tam hassasiyetli hesaplama yürütülüyor
- HNSW'den daha hızlı ve verimli arama:
- RaBitQ, vektörleri 1 bit'e sıkıştırarak hesaplama hızını 100 kat artırıyor
- Yüksek doğruluk korunurken hız optimize edilebiliyor
Başlıca benchmark sonuçları
GIST veri kümesi (1M, 960 boyut)
- VectorChord, pgvector'a kıyasla 2 kat daha yüksek QPS sunuyor
- KMeans kümeleme, harici bir GPU'da çalıştırıldıktan sonra PostgreSQL'e aktarma yöntemi kullanılıyor
- AWS
i4i.large instance'ında (2 vCPU, 16 GB RAM) 700 bin vektörün indekslenme süresi: 186 saniye
- pgvector'a kıyasla 16 kat daha hızlı
- Ekleme hızı da 14 kat daha hızlı
LAION 5M veri kümesi
- r6a.xlarge makinesinde test (4 vCPU, 32 GB RAM, 200 GB EBS):
- Yüksek doğrulukta bile hızlı yanıt korunuyor
- Aylık $165.56 maliyetle benzer performans sağlıyor ve rakip platformlara göre daha maliyet verimli
LAION 100M veri kümesi
- AWS
i4i.xlarge instance'ında (4 vCPU, 32 GB RAM, 937 GB SSD):
- QPS 16.2 @ recall 0.95 (ilk 10 sonuç bazında)
- Çok iş parçacıklı ortamda, istek arttıkça doğrusal QPS artışı gözlemleniyor
VectorChord'un başlıca avantajları
- PostgreSQL'in fiziksel replikasyonu ve diğer özellikleriyle uyumlu
- Harici indeks oluşturma desteği:
- Daha güçlü bir makinede indeks oluşturup bunu daha küçük bir makineye taşıyarak sorgu çalıştırma
- Tek bir makinede milyarlarca vektörü destekleyebiliyor
- Düşük maliyet, yüksek performans: Rakip platformlara kıyasla aylık maliyeti büyük ölçüde düşürüyor
Özet ve ek bilgiler
- VectorChord, PostgreSQL ortamında verimli vektör arama sunuyor
- IVF ve RaBitQ niceleme ile hız ve bellek kullanımını optimize ederek büyük veri kümeleri için uygun hale geliyor
- Bulut yönetimli hizmet: PGVecto.rs Cloud
- Kolay dağıtım ve ölçeklendirme imkanı
1 yorum
Vector, PostgreSQL için yeni JSON'dur
Yukarıdaki yazıda alıntılanan
pgvectorile, bu VectorChord'un selefi olanpgvecto.rsfarklı eklentilerdir.2024'te pgvector vs. pgvecto.rs: PostgreSQL'de Vektör Arama İçin Kapsamlı Bir Karşılaştırma
pgvecto.rsekibini kuran ekip, VectorChord'u da geliştirip birlikte yönetiyor; ancak özelliklerin tamamı henüz VectorChord'a taşınmış değil. Görünüşe göre gelecek yıl civarındapgvecto.rsdesteği sonlandırılıp VectorChord'a geçilecek.Postgres'te vektör saklayanlar için faydalı bir not.