Medan yang Lebih Luas

Redis Vector Sets dan layanan vektor cloud sebagai peta medan di luar tiga mesin utama.

Daftar isi

pgvector, Qdrant, dan Milvus menempati porsi terbesar pembahasan jalur ini, tetapi ketiganya bukan seluruh medan tempat pencarian vektor dijalankan. Topik ini memetakan dua kawasan tambahan, yaitu Redis Vector Sets yang membawa pencarian kedekatan ke cache di memori, dan layanan vektor pada penyedia cloud yang menyerahkan pengelolaannya. Bagian penutup merangkum kapan ketiga mesin utama tetap menjadi pilihan yang tepat, sehingga hasilnya adalah peta peran, bukan daftar produk.

Redis Vector Sets: kedekatan di dalam memori#

Redis Vector Sets adalah tipe data baru bernama vectorset yang tersedia sejak Redis 8.0 dengan model memori-pertama, yaitu seluruh titik berada di RAM dan pencariannya berlangsung tanpa lapisan penyimpanan tambahan. Titik ditambahkan dengan VADD, dicari tetangga terdekatnya dengan VSIM, dan jumlah serta dimensi anggotanya diperiksa dengan VCARD dan VDIM. Contoh berikut memperlihatkan alur singkatnya.

bash Contoh: alur singkat Redis Vector Sets
# tidak-dijalankan
# Menambahkan titik pt:A dengan vektor dua dimensi ke vector set "dokumen"
VADD dokumen VALUES 2 1.0 1.0 pt:A
# Mencari empat tetangga terdekat dari pt:A beserta skornya
VSIM dokumen "pt:A" WITHSCORES COUNT 4
# Mencari dari vektor query yang diberikan langsung, dengan filter atribut
VSIM dokumen [0.9, 0.1] FILTER '.size == "large"' COUNT 4
# Memeriksa jumlah anggota dan dimensi set
VCARD dokumen
VDIM dokumen

VADD mengembalikan (integer) 1 ketika titik baru berhasil ditambahkan, sedangkan VSIM dengan WITHSCORES mengembalikan pasangan titik dan skor kemiripannya, dan titik yang identik dengan query memperoleh skor 1,0. Pencarian dapat berangkat dari nama titik atau dari vektor query yang diberikan langsung, sebagaimana baris [0.9, 0.1] pada contoh. Klausa FILTER menyaring kandidat berdasarkan atribut yang disimpan per titik melalui VSETATTR, dan parameter EF mengatur jumlah kandidat yang ditelusuri struktur HNSW di dalamnya. Perintah pendukungnya lengkap, mulai dari VEMB untuk membaca vektor sebuah titik, VGETATTR untuk atributnya, hingga VREM untuk menghapus titik.

Peran yang paling pas untuk Vector Sets adalah kasus skor kelompok dan kedekatan sederhana yang datanya berada di memori, misalnya papan skor kelompok pada statistik ujian, pencarian item serupa pada arsip catatan, atau antrean pemeriksaan yang membutuhkan jawaban cepat dengan data kecil hingga menengah. Model memori-pertamanya menjadi keunggulan pada kasus tersebut, sekaligus batasannya ketika koleksi tumbuh jauh melampaui kapasitas RAM. Selama set yang digunakan berukuran wajar, jawaban tetap cepat karena tidak ada lapisan penyimpanan yang disentuh, tetapi ukuran koleksinya terikat pada memori yang tersedia.

Layanan vektor pada penyedia cloud#

Kawasan kedua adalah layanan vektor yang ditawarkan penyedia besar pada tingkat pengenalan, dengan Atlas Vector Search milik MongoDB sebagai contoh yang paling sering disebut. Pola kerjanya sama dengan mesin yang sudah dibahas sepanjang jalur ini, yaitu teks di-embed menjadi vektor, vektor diindeks, dan pencarian dijalankan dengan filter, hanya saja penyimpanan, indeks, dan pengelolaannya diserahkan kepada penyedia.

Nilai utama pola ini adalah beban operasional yang berkurang, karena pembangunan indeks, penskalaan, dan ketahanan tidak diurus sendiri. Yang dikorbankan adalah kendali, karena parameter yang dapat disetel dan cara indeks disusun ditentukan penyedia. Untuk tim yang sudah menyimpan dokumen pada penyimpanan dokumen tersebut dan membutuhkan pencarian kemiripan tanpa menambah satu sistem lagi, pola ini sering menjadi cara tercepat untuk memulai. Untuk kebutuhan penyetelan parameter pencarian yang mendalam, mesin yang dikendalikan penuh tetap memberi ruang yang lebih luas.

Kendali yang mengecil itu juga berarti cara kerja internalnya lebih sulit diaudit. Perkiraan memori dan estimasi pembangunan indeks yang dibangun dari asumsi eksplisit tetap berlaku sebagai kerangka, tetapi nilai persisnya tidak selalu terbuka karena penyedia yang mengatur komposisinya. Keputusan antara layanan terkelola dan mesin sendiri lalu kembali pada dua hal yang sama, yaitu seberapa dalam penyetelan yang dibutuhkan dan seberapa besar beban operasional yang siap diambil.

Kapan tetap di tiga mesin utama#

Peta di atas tidak menggantikan ketiga mesin utama, melainkan menandai kapan masing-masing paling layak. pgvector tetap pilihan utama ketika vektor perlu tersimpan bersama data relasional, karena JOIN, transaksi, dan query SQL biasa berjalan pada basis data yang sama. Qdrant tetap unggul ketika pencarian terfilter menjadi kebutuhan inti, dengan payload index untuk mempercepat filter dan SearchParams untuk menala kompromi recall. Milvus tetap dipilih ketika koleksi tumbuh melewati satu mesin, karena arsitektur terdistribusinya dengan collection dan partisi dirancang untuk skala tersebut. Tabel berikut merangkum seluruh medan.

SistemPeran yang paling pasCiri pembeda
pgvectorvektor di dalam Postgres bersama data relasionalkolom vector, JOIN, transaksi, query SQL
Qdrantmesin khusus dengan pencarian terfilterpayload index, SearchParams, pencarian eksak exact=True
Milvuskoleksi besar pada arsitektur terdistribusicollection, partisi, indeks FLAT, IVF_FLAT, dan HNSW
Redis Vector Setskedekatan sederhana yang berada di memoriVADD, VSIM, FILTER, model memori-pertama
Layanan vektor cloudpencarian vektor tanpa mengelola serverpola embedding, indeks, dan filter yang sama, pengelolaan diserahkan

Satu baris pada tabel tidak menyatakan mutu sebuah sistem, melainkan tempatnya di peta. Sistem yang sama dapat berpindah baris seiring kebutuhan berubah, misalnya prototipe yang dimulai pada layanan cloud lalu berpindah ke Qdrant saat penyetelan filter menjadi kritis, atau arsip yang berpindah ke Milvus setelah volumenya melewati satu mesin. Keputusan perpindahan dapat dinilai dengan perkakas yang sama sepanjang jalur ini, yaitu recall yang diukur, biaya yang dihitung, dan migrasi yang dijadwalkan.

Ringkasan#

  • Redis Vector Sets membawa pencarian kedekatan ke memori Redis sejak 8.0 melalui VADD, VSIM, FILTER, dan parameter EF, dengan peran terbaik pada skor kelompok dan kedekatan sederhana.
  • Layanan vektor cloud seperti Atlas Vector Search mengikuti pola embedding, indeks, dan filter yang sama dengan pengelolaan yang diserahkan, sehingga menukar beban operasional dengan kendali.
  • pgvector tetap dipilih untuk data relasional bersama vektor, Qdrant untuk pencarian terfilter, dan Milvus untuk koleksi terdistribusi berskala besar.

Referensi#