Halaman ini memberikan detail tentang fitur dan batasan penelusuran vektor.
Ketersediaan
Penelusuran vektor tersedia di semua versi Memorystore for Valkey di semua tingkat dan semua wilayah yang didukung.
Hanya instance yang dibuat setelah tanggal peluncuran 13 September 2024 yang mengaktifkan penelusuran vektor.
Pembatasan Indeks
Berikut ini adalah batasan indeks:
- Jumlah maksimum atribut dalam indeks tidak boleh melebihi 10.
- Dimensi vektor tidak boleh melebihi 32.768.
- Nilai M untuk HNSW tidak boleh melebihi 2 juta.
- Nilai EF Construct untuk HNSW tidak boleh melebihi 4096.
- Nilai Runtime EF untuk HNSW juga tidak boleh melebihi 4096.
Dampak terhadap Performa
Saat mempertimbangkan performa penelusuran vektor, ada beberapa variabel penting yang perlu dipertimbangkan.
Jenis Node
Penelusuran vektor memfasilitasi penskalaan vertikal melalui integrasi kumpulan thread yang didedikasikan untuk menjalankan operasi penelusuran vektor. Artinya, performa akan dikaitkan dengan jumlah vCPU di setiap node dalam cluster Anda. Untuk mengetahui detail tentang jumlah vCPU yang tersedia di setiap jenis node, lihat Spesifikasi cluster dan node.
Jumlah shard
Memorystore for Valkey menerapkan teknik pengindeksan lokal untuk semua vektor. Artinya, indeks yang disimpan di setiap shard hanya berisi dokumen yang ada di shard tersebut. Oleh karena itu, kecepatan pengindeksan dan jumlah total vektor akan diskalakan secara linear dengan jumlah shard dalam cluster.
Karena setiap indeks lokal hanya berisi konten satu shard, penelusuran cluster memerlukan penelusuran setiap shard dalam cluster dan agregasi hasilnya. Dengan jumlah vektor yang stabil, meningkatkan jumlah shard akan meningkatkan performa penelusuran secara logaritma untuk indeks HNSW dan secara linear untuk indeks FLAT karena lebih sedikit vektor yang terdapat di setiap indeks lokal.
Perhatikan bahwa karena meningkatnya jumlah pekerjaan yang diperlukan untuk menelusuri semua shard, latensi yang dapat diamati untuk menyelesaikan permintaan penelusuran tertentu dapat meningkat seiring bertambahnya shard yang ditambahkan. Meskipun demikian, bahkan cluster terbesar pun mendukung latensi milidetik satu digit.
Jumlah replika
Menambahkan replika tambahan akan meningkatkan throughput penelusuran secara linear dengan mengizinkan load balancing permintaan penelusuran ke replika baca.
Menskalakan Peristiwa
Setelah mengubah ukuran instance Memorystore for Redis, dokumen dalam indeks Anda akan dipindahkan untuk mendistribusikan data secara merata di seluruh jumlah shard baru. Jika hal ini terjadi, dokumen yang dipindahkan di seluruh node akan diindeks di latar belakang. Setelah operasi penskalaan selesai, Anda dapat memantau nilai mutation_queue_size
di output FT.INFO untuk melihat progres pengindeksan ulang karena mengubah ukuran cluster.
Konsumsi Memori
Vektor diduplikasi, disimpan dalam ruang kunci dan algoritma penelusuran vektor.
Transaksi
Karena sifat asinkron dari eksekusi tugas oleh kumpulan thread, operasi penelusuran vektor tidak mematuhi semantik transaksional.