Halaman ini memberikan detail tentang fitur dan batasan penelusuran vektor.
Ketersediaan
Penelusuran vektor tersedia di semua versi Memorystore for Valkey di semua paket dan semua region yang didukung.
Hanya instance yang Anda buat setelah 13 September 2024 yang mengaktifkan penelusuran vektor.
Pembatasan indeks
Berikut ini batasan indeks:
- Jumlah maksimum atribut dalam indeks tidak boleh lebih dari 10.
- Dimensi vektor tidak boleh lebih dari 32.768.
- Nilai M untuk HNSW tidak boleh lebih dari 2 juta.
- Nilai EF Construct untuk HNSW tidak boleh lebih dari 4.096.
- Nilai EF Runtime untuk HNSW juga tidak boleh lebih dari 4.096.
Dampak 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 terikat dengan jumlah vCPU di setiap node dalam instance Anda. Untuk mengetahui detail jumlah vCPU yang tersedia di setiap jenis node, lihat Karakteristik 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. Karena hal ini, kecepatan pengindeksan dan jumlah total vektor akan diskalakan secara linear dengan jumlah shard dalam instance.
Karena setiap indeks lokal hanya berisi konten satu shard, penelusuran instance memerlukan penelusuran setiap shard dalam instance dan menggabungkan hasilnya. Dengan jumlah vektor yang stabil, peningkatan jumlah shard akan meningkatkan performa penelusuran secara logaritmik untuk indeks HNSW dan secara linear untuk indeks FLAT karena lebih sedikit vektor yang ada di setiap indeks lokal.
Perhatikan bahwa karena peningkatan jumlah pekerjaan yang diperlukan untuk menelusuri semua shard, latensi yang dapat diamati untuk menyelesaikan permintaan penelusuran tertentu dapat meningkat seiring dengan penambahan shard. Meskipun demikian, instance terbesar pun mendukung latensi milidetik satu digit.
Jumlah replika
Menambahkan replika tambahan akan meningkatkan throughput penelusuran secara linear dengan memungkinkan load balancing permintaan penelusuran untuk membaca replika.
Peristiwa penskalaan
Setelah mengubah ukuran instance Memorystore for Valkey, dokumen dalam indeks Anda akan dipindahkan untuk mendistribusikan data secara merata di seluruh jumlah shard baru. Saat hal ini terjadi, dokumen yang dipindahkan antar-node akan diindeks di latar belakang. Setelah operasi penskalaan selesai, Anda dapat memantau nilai mutation_queue_size dalam output FT.INFO untuk melihat progres pengindeksan ulang karena mengubah ukuran instance.
Konsumsi memori
Vektor diduplikasi, disimpan dalam keyspace dan algoritma penelusuran vektor.
Transaksi
Karena sifat asinkron dari tugas yang dijalankan oleh kumpulan thread, operasi penelusuran vektor tidak mematuhi semantik transaksional.