Sebelum menggunakan Vector Retrieval Service for Milvus, penting untuk memperkirakan kebutuhan sumber daya komputasi Anda. Hal ini membantu memastikan stabilitas sistem dan mengoptimalkan biaya. Milvus menyediakan kalkulator sumber daya untuk membantu Anda memperkirakan sumber daya berdasarkan faktor-faktor seperti ukuran dataset, dimensi vektor, dan jenis indeks. Namun, konfigurasi akhir harus selalu disesuaikan berdasarkan hasil pengujian performa Anda sendiri.
Kalkulator sumber daya
Layanan ini mempertahankan rasio vCPU-memori sebesar 1:4. Misalnya, instans dengan 2 vCPU dilengkapi dengan 8 GiB memori. Untuk memastikan stabilitas instans, layanan ini menyediakan lebih banyak sumber daya memori daripada yang diperlukan.
Gunakan kalkulator sumber daya untuk mendapatkan estimasi dasar kebutuhan sumber daya instans Anda. Masukkan jumlah vektor (dalam juta), dimensi vektor, dan pilih jenis indeks. Sistem akan merekomendasikan konfigurasi instans yang sesuai. Sebagai contoh, untuk dataset dengan 8 juta vektor berdimensi 768 menggunakan indeks HNSW (dengan M=4), kalkulator sumber daya akan menampilkan konfigurasi yang direkomendasikan, seperti pada gambar di bawah ini. Gunakan rekomendasi ini sebagai titik awal untuk pemilihan instans dan pengujian performa.
Konfigurasikan parameter sumber daya
Aktifkan ketersediaan tinggi
Konfigurasi ketersediaan tinggi (HA) memastikan stabilitas kluster produksi dengan mempertahankan dua replika dari setiap node. Ini meningkatkan toleransi kesalahan dan keandalan sistem secara signifikan.
Mengaktifkan HA menggandakan kebutuhan sumber daya dibandingkan dengan konfigurasi non-HA. Evaluasi sepenuhnya kebutuhan sumber daya Anda sebelum mengaktifkan fitur ini untuk kluster produksi.
Tentukan skala sumber daya
Parameter | Deskripsi |
Vector Count (Millions) | Jumlah total vektor dalam dataset Anda. Dataset yang lebih besar memerlukan lebih banyak penyimpanan dan meningkatkan kompleksitas komputasi pembuatan indeks dan kueri. Hal ini dapat menyebabkan waktu pemrosesan yang lebih lama dan permintaan perangkat keras yang lebih tinggi. |
Vector Dimension | Jumlah dimensi dalam setiap vektor. Vektor berdimensi lebih tinggi meningkatkan kompleksitas indeks dan biaya komputasi pencarian kesamaan. Hal ini memengaruhi baik biaya penyimpanan maupun kecepatan kueri, terutama tanpa strategi reduksi dimensionalitas atau kuantisasi yang efektif. |
Pilih jenis indeks
Jenis indeks adalah faktor utama yang menentukan kebutuhan sumber daya dan performa kueri. Algoritma indeks yang berbeda memiliki trade-off antara kecepatan kueri, recall, dan konsumsi sumber daya.
Jenis indeks | Deskripsi & kasus penggunaan |
HNSW | Indeks berbasis grafik yang menawarkan respons kueri ultra cepat, terutama untuk data berdimensi tinggi. Terbaik untuk: Kasus penggunaan yang memerlukan kecepatan kueri tercepat di mana memori dan sumber daya komputasi yang cukup tersedia. |
IVF_FLAT | Memberikan performa pencarian tinggi dan akurasi. Ini menawarkan performa yang jauh lebih baik daripada FLAT dengan konsumsi sumber daya yang lebih rendah. Terbaik untuk: Dataset besar yang memerlukan keseimbangan baik antara performa dan biaya. |
DISKANN | Indeks ANN berbasis disk yang dirancang untuk pengambilan efisien pada dataset masif yang tidak muat di memori. Ini menggunakan algoritma grafik Vamana. Terbaik untuk: Dataset sangat besar dan berdimensi tinggi di mana memori menjadi kendala. |
SCANN | Indeks ANN yang efisien yang menggunakan pemangkasan ruang pencarian dan kuantisasi. Ini unggul dalam pencarian produk dalam maksimum (MIPS). Terbaik untuk: Dataset besar di mana kecepatan pengambilan lebih penting daripada presisi. |
FLAT | Menjalankan pencarian brute-force yang tepat. Terbaik untuk: Dataset kecil (seperti di bawah beberapa juta vektor) di mana presisi sempurna wajib dan kecepatan kueri yang lebih lambat dapat diterima. |
IVF_SQ8 | Menggunakan kuantisasi untuk mempercepat pengambilan. Presisinya mungkin lebih rendah daripada HNSW. Terbaik untuk: Dataset besar di mana sumber daya terbatas tetapi recall rate tinggi diperlukan. |
Atur parameter indeks
HNSW: Konfigurasikan parameter
M, yang menentukan jumlah tetangga untuk setiap node.Nilai
Myang lebih besar meningkatkan recall dan presisi, tetapi juga meningkatkan waktu pembuatan indeks dan penggunaan memori.Nilai
Myang lebih kecil menghasilkan pembuatan indeks yang lebih cepat dan jejak memori yang lebih rendah, mungkin dengan mengorbankan beberapa presisi.Nilai awal yang direkomendasikan untuk
Madalahlg(N), di manaNadalah jumlah total vektor. Anda dapat menyetel ulang nilai ini (seperti 16, 32, atau 64) berdasarkan performa kueri Anda.
IVF_FLAT dan IVF_SQ8: Tetapkan jumlah vektor dalam setiap kluster. Ini menentukan jumlah kluster untuk mempartisi ruang vektor.
SCANN: Gunakan saklar with_raw_data untuk mengontrol apakah akan menyimpan data mentah di indeks. Jika sistem Anda terutama digunakan untuk pencarian perkiraan cepat dan tidak sering mengakses data mentah, atur saklar ini ke False.
Atur bidang skalar
Jika Anda mengaktifkan Scalar Fields, atur Average Size of Data per Row. Parameter ini membantu sistem indeks merencanakan memori, penyimpanan, dan sharding, serta mengoptimalkan performa kueri.