Dari Faiss
Panduan ini menyediakan proses langkah demi langkah yang komprehensif untuk memigrasikan data dari Faiss ke Milvus 2.x. Dengan mengikuti panduan ini, Anda akan dapat mentransfer data secara efisien, memanfaatkan fitur-fitur canggih Milvus 2.x, dan meningkatkan kinerja.
Prasyarat
- Versi perangkat lunak:
- Sumber Faiss
- Target Milvus: 2.x
- Untuk detail instalasi, lihat Menginstal Faiss dan Menginstal Milvus.
- Alat yang dibutuhkan:
- Alatmigrasi Milvus. Untuk detail instalasi, lihat Menginstal Alat Migrasi.
Mengkonfigurasi migrasi
Simpan berkas konfigurasi migrasi contoh sebagai migration.yaml
dan modifikasi konfigurasi berdasarkan kondisi aktual Anda. Anda bebas meletakkan berkas konfigurasi di direktori lokal mana pun.
dumper: # configs for the migration job.
worker:
limit: 2
workMode: faiss # operational mode of the migration job.
reader:
bufferSize: 1024
writer:
bufferSize: 1024
loader:
worker:
limit: 2
source: # configs for the source Faiss index.
mode: local
local:
faissFile: ./testfiles/faiss/faiss_ivf_flat.index
target: # configs for the target Milvus collection.
create:
collection:
name: test1w
shardsNums: 2
dim: 256
metricType: L2
mode: remote
remote:
outputDir: testfiles/output/
cloud: aws
endpoint: 0.0.0.0:9000
region: ap-southeast-1
bucket: a-bucket
ak: minioadmin
sk: minioadmin
useIAM: false
useSSL: false
checkBucket: true
milvus2x:
endpoint: localhost:19530
username: xxxxx
password: xxxxx
Tabel berikut ini menjelaskan parameter dalam file konfigurasi contoh. Untuk daftar lengkap konfigurasi, lihat Migrasi Milvus: Faiss ke Milvus 2.x.
dumper
Parameter Deskripsi dumper.worker.limit
Konkurensi utas dumper. dumper.worker.workMode
Mode operasional pekerjaan migrasi. Diatur ke faiss saat bermigrasi dari indeks Faiss. dumper.worker.reader.bufferSize
Ukuran buffer untuk dibaca dari Faiss dalam setiap batch. Unit: KB. dumper.worker.writer.bufferSize
Ukuran buffer untuk menulis ke Milvus dalam setiap batch. Unit: KB. loader
Parameter Deskripsi loader.worker.limit
Konkurensi utas pemuat. source
Parameter Deskripsi source.mode
Menentukan dari mana file sumber dibaca. Nilai yang valid:
-local
: membaca file dari disk lokal.
-remote
: membaca file dari penyimpanan jarak jauh.source.local.faissFile
Jalur direktori tempat file sumber berada. Misalnya, /db/faiss.index
.target
Parameter Deskripsi target.create.collection.name
Nama koleksi Milvus. target.create.collection.shardsNums
Jumlah pecahan yang akan dibuat dalam koleksi. Untuk informasi lebih lanjut tentang pecahan, lihat Terminologi. target.create.collection.dim
Dimensi bidang vektor. target.create.collection.metricType
Jenis metrik yang digunakan untuk mengukur kemiripan antar vektor. Untuk informasi lebih lanjut, lihat Terminologi. target.mode
Lokasi penyimpanan untuk file yang dibuang. Nilai yang valid:
-local
: Menyimpan file yang dibuang di disk lokal.
-remote
: Menyimpan file yang dibuang di penyimpanan objek.target.remote.outputDir
Jalur direktori keluaran di ember penyimpanan cloud. target.remote.cloud
Penyedia layanan penyimpanan cloud. Nilai contoh: aws
,gcp
,azure
.target.remote.endpoint
Titik akhir penyimpanan Milvus 2.x. target.remote.region
Wilayah penyimpanan cloud. Dapat berupa nilai apa pun jika Anda menggunakan MinIO lokal. target.remote.bucket
Nama bucket untuk menyimpan data. Nilainya harus sama dengan konfigurasi pada Milvus 2.x. Untuk informasi lebih lanjut, lihat Konfigurasi Sistem. target.remote.ak
Kunci akses untuk penyimpanan Milvus 2.x. target.remote.sk
Kunci rahasia untuk penyimpanan Milvus 2.x. target.remote.useIAM
Apakah akan menggunakan Peran IAM untuk koneksi. target.remote.useSSL
Apakah akan mengaktifkan SSL saat menyambung ke Milvus 2.x. Untuk informasi lebih lanjut, lihat Enkripsi saat Transit. target.remote.checkBucket
Apakah akan memeriksa apakah bucket yang ditentukan ada dalam penyimpanan objek. target.milvus2x.endpoint
Alamat server Milvus target. target.milvus2x.username
Nama pengguna untuk server Milvus 2.x. Parameter ini diperlukan jika autentikasi pengguna diaktifkan untuk server Milvus Anda. Untuk informasi lebih lanjut, lihat Mengaktifkan Autentikasi. target.milvus2x.password
Kata sandi untuk server Milvus 2.x. Parameter ini diperlukan jika autentikasi pengguna diaktifkan untuk server Milvus Anda. Untuk informasi lebih lanjut, lihat Mengaktifkan Autentikasi.
Memulai tugas migrasi
Mulai tugas migrasi dengan perintah berikut. Ganti
{YourConfigFilePath}
dengan direktori lokal tempat berkas konfigurasimigration.yaml
berada../milvus-migration dump --config=/{YourConfigFilePath}/migration.yaml
Perintah di atas mengubah data indeks Faiss menjadi file NumPy, dan kemudian menggunakan operasi bulkInsert untuk menulis data ke bucket target.
Setelah berkas NumPy dihasilkan, impor berkas-berkas ini ke dalam Milvus 2.x dengan perintah berikut. Ganti
{YourConfigFilePath}
dengan direktori lokal di mana berkas konfigurasimigration.yaml
berada../milvus-migration load --config=/{YourConfigFilePath}/migration.yaml
Verifikasi hasil
Setelah tugas migrasi dijalankan, Anda dapat melakukan panggilan API atau menggunakan Attu untuk melihat jumlah entitas yang dimigrasi. Untuk informasi lebih lanjut, lihat Attu dan get_collection_stats().