Fitur pencarian vektor dan batas - Amazon ElastiCache

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fitur pencarian vektor dan batas

Ketersediaan pencarian vektor

Pencarian vektor untuk Amazon ElastiCache tersedia dengan Valkey versi 8.2 pada cluster berbasis node di semua AWS Wilayah tanpa biaya tambahan. Anda juga dapat menggunakan pencarian vektor pada cluster yang ada dengan meningkatkan dari versi Valkey, atau Redis OSS ke Valkey 8.2, dalam beberapa klik tanpa downtime.

Pencarian vektor saat ini tersedia pada semua jenis ElastiCache instance selain node dengan tiering data. Menggunakan pencarian vektor pada instans t2, t3, dan t4g memerlukan peningkatan cadangan memori hingga setidaknya 50% untuk mikro dan 30% untuk instance kecil. Lihat halaman ini untuk mengetahui lebih lanjut.

Pembatasan parametrik

Tabel berikut menunjukkan batas untuk berbagai item pencarian vektor:

Batas pencarian vektor
Item Nilai maksimum
Jumlah dimensi dalam vektor 32768
Jumlah indeks yang dapat dibuat 10
Jumlah bidang dalam indeks 50
Klausa FT.SEARCH TIMEOUT (milidetik) 60000
Jumlah maksimum awalan yang diizinkan per indeks 16
Panjang maksimum kolom tag 10000
Panjang maksimum bidang numerik 256
Parameter HNSW M 2000000
Parameter HNSW EF_CONSTRUCTION 4096
Parameter HNSW EF_RUNTIME 4096

Pembatasan operasional

Indeks Persistensi dan Penimbunan Ulang

Proses pembaruan memiliki tiga langkah. Pada langkah pertama, kunci HASH atau JSON dimodifikasi dan klien yang meminta diblokir. Langkah kedua dilakukan di latar belakang dan memperbarui setiap indeks yang berisi kunci yang dimodifikasi. Pada langkah ketiga, klien tidak diblokir. Jadi, untuk operasi kueri yang dilakukan pada koneksi yang sama dengan mutasi, perubahan itu segera terlihat di hasil pencarian. Namun, penyisipan atau pembaruan kunci mungkin tidak terlihat dalam hasil pencarian untuk klien lain untuk waktu yang singkat. Selama periode beban sistem berat mutasi data yang and/or berat, penundaan visibilitas bisa menjadi lebih lama.

Fitur pencarian vektor mempertahankan definisi indeks, dan isi indeks. Indeks untuk bidang vektor disimpan tetapi indeks untuk TAGS dan NUMERIK tidak disimpan, artinya indeks tersebut harus dibangun kembali saat dimuat secara eksternal (sinkronisasi penuh atau muat ulang). Ini berarti bahwa selama permintaan operasional atau peristiwa apa pun yang menyebabkan node memulai atau memulai ulang, definisi indeks dan konten untuk vektor dipulihkan dari snapshot terbaru. Tidak ada tindakan pengguna yang diperlukan untuk memulai ini. Namun untuk indeks TAGS dan NUMERIC, pembangunan kembali dilakukan sebagai operasi pengisian ulang segera setelah data dipulihkan. Ini secara fungsional setara dengan sistem yang secara otomatis menjalankan perintah FT.CREATE untuk setiap indeks yang ditentukan. Perhatikan bahwa node menjadi tersedia untuk operasi aplikasi segera setelah data dipulihkan, tetapi kemungkinan sebelum pengurukan indeks selesai, yang berarti bahwa operasi pengurukan akan kembali terlihat oleh aplikasi.

Penyelesaian isi ulang indeks tidak disinkronkan antara primer dan replika. Kurangnya sinkronisasi ini secara tak terduga dapat terlihat oleh aplikasi, sehingga disarankan agar aplikasi memverifikasi penyelesaian pengisian ulang pada primer dan semua replika sebelum memulai operasi pencarian.

Batas penskalaan

Selama peristiwa penskalaan, indeks dapat mengalami pengisian ulang saat data dimigrasikan. Ini akan menghasilkan penarikan yang berkurang untuk kueri penelusuran.

Snapshot import/export dan Migrasi Langsung

File RDB dari satu cluster dengan indeks pencarian dapat diimpor ke cluster ElastiCache Valkey lain dengan versi 8.2 atau lebih tinggi. Cluster baru akan membangun kembali konten indeks saat memuat file RDB. Namun, keberadaan indeks pencarian dalam file RDB membatasi kompatibilitas data tersebut dengan versi Valkey sebelumnya. Format indeks pencarian yang ditentukan oleh fungsi pencarian vektor hanya dipahami oleh ElastiCache cluster lain dengan Valkey versi 8.2 atau lebih tinggi. Namun, file RDB yang tidak mengandung indeks tidak dibatasi dengan cara ini.

Keluar dari Memori saat mengisi ulang

Mirip dengan operasi penulisan Valkey OSS, isi ulang indeks dikenakan batasan. out-of-memory Jika memori mesin terisi saat pengisian ulang sedang berlangsung, semua isi ulang dijeda. Jika memori tersedia, proses pengurukan dilanjutkan. Dimungkinkan untuk menghapus indeks saat pengisian ulang dijeda karena kehabisan memori.

Transaksi

PerintahFT.CREATE,FT.DROPINDEX,FT.ALIASADD,FT.ALIASDEL, dan FT.ALIASUPDATE tidak dapat dieksekusi dalam konteks transaksional, yaitu, tidak dalam MULTI/EXEC blok atau dalam LUA atau skrip FUNGSI.