milvus-logo
LFAI
Casa
  • Migrazione di Milvus

Da Faiss

Questa guida fornisce un processo completo, passo dopo passo, per la migrazione dei dati da Faiss a Milvus 2.x. Seguendo questa guida, sarete in grado di trasferire in modo efficiente i vostri dati, sfruttando le funzionalità avanzate di Milvus 2.x e le prestazioni migliorate.

Prerequisiti

Configurare la migrazione

Salvare il file di configurazione della migrazione di esempio come migration.yaml e modificare le configurazioni in base alle condizioni reali. Il file di configurazione può essere collocato in qualsiasi directory locale.

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

La tabella seguente descrive i parametri del file di configurazione di esempio. Per un elenco completo delle configurazioni, consultare Milvus Migration: Faiss a Milvus 2.x.

  • dumper

    ParametroDescrizione
    dumper.worker.limitLa concurrency dei thread del dumper.
    dumper.worker.workModeLa modalità operativa del lavoro di migrazione. Impostare su faiss quando si migra da indici Faiss.
    dumper.worker.reader.bufferSizeDimensione del buffer da leggere da Faiss in ogni batch. Unità: KB.
    dumper.worker.writer.bufferSizeDimensione del buffer da scrivere su Milvus in ogni batch. Unità: KB.
  • loader

    ParametroDescrizione
    loader.worker.limitLa concurrency dei thread del caricatore.
  • source

    ParametroDescrizione
    source.modeSpecifica da dove vengono letti i file sorgente. Valori validi:
    - local: legge i file da un disco locale.
    - remote: legge i file da un archivio remoto.
    source.local.faissFileIl percorso della directory in cui si trovano i file di origine. Ad esempio, /db/faiss.index.
  • target

    ParametroDescrizione
    target.create.collection.nameNome della collezione Milvus.
    target.create.collection.shardsNumsNumero di frammenti da creare nella raccolta. Per ulteriori informazioni sui frammenti, consultare la sezione Terminologia.
    target.create.collection.dimDimensione del campo vettoriale.
    target.create.collection.metricTypeTipo di metrica utilizzata per misurare le somiglianze tra i vettori. Per ulteriori informazioni, consultare Terminologia.
    target.modePosizione di memorizzazione dei file scaricati. Valori validi:
    - local: archiviazione dei file di dump su dischi locali.
    - remote: archiviazione dei file di dump su object storage.
    target.remote.outputDirPercorso della directory di output nel bucket di cloud storage.
    target.remote.cloudFornitore del servizio di cloud storage. Valori di esempio: aws, gcp, azure.
    target.remote.endpointPunto finale dello storage Milvus 2.x.
    target.remote.regionRegione di archiviazione nel cloud. Può essere un valore qualsiasi se si usa MinIO locale.
    target.remote.bucketNome del bucket per la memorizzazione dei dati. Il valore deve essere lo stesso della configurazione di Milvus 2.x. Per ulteriori informazioni, consultare la sezione Configurazioni di sistema.
    target.remote.akChiave di accesso per l'archiviazione di Milvus 2.x.
    target.remote.skChiave segreta per il deposito Milvus 2.x.
    target.remote.useIAMSe utilizzare un ruolo IAM per la connessione.
    target.remote.useSSLAbilitare o meno l'SSL quando ci si connette a Milvus 2.x. Per ulteriori informazioni, consultare Crittografia in transito.
    target.remote.checkBucketSe verificare se il bucket specificato esiste nell'archivio oggetti.
    target.milvus2x.endpointIndirizzo del server Milvus di destinazione.
    target.milvus2x.usernameNome utente del server Milvus 2.x. Questo parametro è necessario se l'autenticazione utente è abilitata per il server Milvus. Per ulteriori informazioni, consultare Abilita l'autenticazione.
    target.milvus2x.passwordPassword per il server Milvus 2.x. Questo parametro è necessario se l'autenticazione dell'utente è abilitata per il vostro server Milvus. Per ulteriori informazioni, consultare Abilita autenticazione.

Avviare l'attività di migrazione

  1. Avviare l'attività di migrazione con il seguente comando. Sostituire {YourConfigFilePath} con la directory locale dove risiede il file di configurazione migration.yaml.

    ./milvus-migration  dump  --config=/{YourConfigFilePath}/migration.yaml
    

    Il comando precedente converte i dati dell'indice Faiss in file NumPy e quindi utilizza l'operazione bulkInsert per scrivere i dati nel bucket di destinazione.

  2. Una volta generati i file NumPy, importarli in Milvus 2.x con il seguente comando. Sostituire {YourConfigFilePath} con la directory locale in cui risiede il file di configurazione migration.yaml.

    ./milvus-migration  load  --config=/{YourConfigFilePath}/migration.yaml
    

Verifica del risultato

Una volta eseguita l'attività di migrazione, è possibile effettuare chiamate API o utilizzare Attu per visualizzare il numero di entità migrate. Per ulteriori informazioni, consultare Attu e get_collection_stats().

Tradotto daDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Questa pagina è stata utile?