milvus-logo
LFAI
Home
  • Milvus-Migration

Von Milvus 1.x

Dieser Leitfaden bietet einen umfassenden, schrittweisen Prozess für die Migration von Daten von Milvus 1.x (einschließlich 0.9.x und höher) nach Milvus 2.x. Wenn Sie diesen Leitfaden befolgen, können Sie Ihre Daten effizient übertragen und dabei die erweiterten Funktionen und die verbesserte Leistung von Milvus 2.x nutzen.

Voraussetzungen

Exportieren der Metadaten der Milvus-Quellinstallation

Um die Migrationsdaten für Milvus 0.9.x bis 1.x vorzubereiten, stoppen Sie die Quell-Milvus-Installation oder führen Sie zumindest keine DML-Operationen mehr in ihr durch.

  1. Exportieren Sie die Metadaten der Milvus-Quellinstallation nach meta.json.

    • Für die Installationen, die MySQL als Backend verwenden, führen Sie
    ./milvus-migration export -m "user:password@tcp(adderss)/milvus?charset=utf8mb4&parseTime=True&loc=Local" -o outputDir
    
    • Für Installationen, die SQLite als Backend verwenden, führen Sie aus
    ./milvus-migration export -s /milvus/db/meta.sqlite -o outputDir
    
  2. Kopieren Sie den Ordner tables Ihrer Milvus-Installation und verschieben Sie dann sowohl meta.json als auch den Ordner tables in einen leeren Ordner.

    Sobald dieser Schritt abgeschlossen ist, sollte die Struktur des leeren Ordners wie folgt aussehen:

    migration_data
    ├── meta.json
    └── tables
    
  3. Laden Sie den im vorangegangenen Schritt vorbereiteten Ordner in einen S3-Blockspeicher-Bucket hoch oder verwenden Sie diesen lokalen Ordner direkt im nächsten Abschnitt.

Konfigurieren Sie die Migrationsdatei

Speichern Sie die Beispiel-Migrationskonfigurationsdatei unter migration.yaml und ändern Sie die Konfigurationen entsprechend Ihren tatsächlichen Gegebenheiten. Es steht Ihnen frei, die Konfigurationsdatei in einem beliebigen lokalen Verzeichnis abzulegen.

dumper:
  worker:
    limit: 2
    workMode: milvus1x
    reader:
      bufferSize: 1024
    writer:
      bufferSize: 1024
loader:
  worker:
    limit: 16
meta:
  mode: local
  localFile: /outputDir/test/meta.json
source:
  mode: local
  local:
    tablesDir: /db/tables/
target:
  mode: remote
  remote:
    outputDir: "migration/test/xx"
    ak: xxxx
    sk: xxxx
    cloud: aws
    region: us-west-2
    bucket: xxxxx
    useIAM: true
    checkBucket: false
  milvus2x:
    endpoint: "{yourMilvus2_xServerAddress}:{port}"
    username: xxxx
    password: xxxx

In der folgenden Tabelle werden die Parameter in der Beispielkonfigurationsdatei beschrieben. Eine vollständige Liste der Konfigurationsdateien finden Sie in Milvus Migration: Milvus1.x zu Milvus 2.x.

  • dumper

    ParameterBeschreibung
    dumper.worker.limitDie Gleichzeitigkeit der Dumper-Threads.
    dumper.worker.workModeDer Betriebsmodus des Migrationsauftrags. Wird bei der Migration von Milvus 1.x auf milvus1x gesetzt.
    dumper.worker.reader.bufferSizePuffergröße, die in jedem Batch aus Milvus 1.x gelesen wird. Einheit: KB.
    dumper.worker.writer.bufferSizePuffergröße für das Schreiben in Milvus 2.x in jedem Batch. Einheit: KB.
  • loader

    ParameterBeschreibung
    loader.worker.limitDie Gleichzeitigkeit der Loader-Threads.
  • meta

    ParameterBeschreibung
    meta.modeGibt an, woher die Metadatei meta.json gelesen wird. Gültige Werte: local, remote, mysql, sqlite.
    meta.localFileLokaler Verzeichnispfad, in dem sich die Datei meta.json befindet. Diese Konfiguration wird nur verwendet, wenn meta.mode auf local gesetzt ist. Andere Meta-Konfigurationen finden Sie in README_1X.
  • source

    ParameterBeschreibung
    source.modeGibt an, woher die Quelldateien gelesen werden. Gültige Werte:
    - local: liest Dateien von einer lokalen Festplatte.
    - remote: liest Dateien von einem entfernten Speicher.
    source.local.tablesDirDer Verzeichnispfad, in dem sich die Quelldateien befinden. Zum Beispiel /db/tables/.
  • target

    ParameterBeschreibung
    target.modeSpeicherort für gedumpte Dateien. Gültige Werte:
    - local: Speichern der ausgelagerten Dateien auf lokalen Festplatten.
    - remote: Speichern der ausgelagerten Dateien im Objektspeicher.
    target.remote.outputDirAusgabeverzeichnispfad im Cloud-Speicher-Bucket.
    target.remote.akZugriffsschlüssel für Milvus 2.x-Speicher.
    target.remote.skGeheimer Schlüssel für Milvus 2.x-Speicher.
    target.remote.cloudAnbieter des Cloud-Speicherdienstes. Beispielwerte: aws, gcp, azure.
    target.remote.regionRegion des Cloud-Speichers. Es kann ein beliebiger Wert sein, wenn Sie lokales MinIO verwenden.
    target.remote.bucketBucket-Name für die Speicherung von Daten. Der Wert muss derselbe sein wie die Konfiguration in Milvus 2.x. Weitere Informationen finden Sie unter Systemkonfigurationen.
    target.remote.useIAMOb eine IAM-Rolle für die Verbindung verwendet werden soll.
    target.remote.checkBucketOb geprüft werden soll, ob der angegebene Bucket im Objektspeicher existiert.
    target.milvus2x.endpointAdresse des Milvus-Zielservers.
    target.milvus2x.usernameBenutzername für den Milvus 2.x-Server. Dieser Parameter ist erforderlich, wenn die Benutzerauthentifizierung für Ihren Milvus-Server aktiviert ist. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung.
    target.milvus2x.passwordPasswort für den Milvus 2.x-Server. Dieser Parameter ist erforderlich, wenn die Benutzerauthentifizierung für Ihren Milvus-Server aktiviert ist. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung.

Starten Sie die Migrationsaufgabe

  1. Starten Sie die Migrationsaufgabe mit dem folgenden Befehl. Ersetzen Sie {YourConfigFilePath} durch das lokale Verzeichnis, in dem sich die Konfigurationsdatei migration.yaml befindet.

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

    Der obige Befehl konvertiert die Quelldaten in Milvus 1.x in NumPy-Dateien und verwendet dann den Vorgang bulkInsert, um die Daten in den Ziel-Bucket zu schreiben.

  2. Sobald die NumPy-Dateien erzeugt sind, importieren Sie diese Dateien mit dem folgenden Befehl in Milvus 2.x. Ersetzen Sie {YourConfigFilePath} durch das lokale Verzeichnis, in dem sich die Konfigurationsdatei migration.yaml befindet.

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

Überprüfen Sie das Ergebnis

Sobald die Migrationsaufgabe ausgeführt wurde, können Sie API-Aufrufe tätigen oder Attu verwenden, um die Anzahl der migrierten Entitäten anzuzeigen. Weitere Informationen finden Sie unter Attu und get_collection_stats().

Übersetzt vonDeepLogo

Try Managed Milvus for Free

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

Get Started
Feedback

War diese Seite hilfreich?