milvus-logo
LFAI
フロントページへ
  • Milvus移住

Milvus 1.x から

このガイドでは、Milvus 1.x(0.9.x以降を含む)からMilvus 2.xへデータを移行するための包括的なステップバイステップのプロセスを提供します。このガイドに従うことで、Milvus 2.xの高度な機能と改善されたパフォーマンスを活用しながら、効率的にデータを移行することができます。

前提条件

移行元Milvusのメタデータのエクスポート

Milvus 0.9.xから1.xへの移行データを準備するため、移行元のMilvusを停止するか、少なくともDML操作を停止してください。

  1. 移行元Milvusのメタデータをmeta.json にエクスポートします。

    • バックエンドにMySQLを使用している場合、以下のコマンドを実行してください。
    ./milvus-migration export -m "user:password@tcp(adderss)/milvus?charset=utf8mb4&parseTime=True&loc=Local" -o outputDir
    
    • SQLiteをバックエンドとして使用している場合は、以下を実行してください。
    ./milvus-migration export -s /milvus/db/meta.sqlite -o outputDir
    
  2. Milvusのtables フォルダをコピーし、meta.jsontables フォルダの両方を空のフォルダに移動します。

    この手順が完了すると、空のフォルダの構造は以下のようになります:

    migration_data
    ├── meta.json
    └── tables
    
  3. 前のステップで準備したフォルダをS3ブロックストレージバケットにアップロードするか、次のセクションでこのローカルフォルダを直接使用します。

マイグレーションファイルの設定

マイグレーション設定ファイルの例をmigration.yaml として保存し、実際の条件に基づいて設定を変更します。コンフィグファイルは任意のローカルディレクトリに自由に置くことができます。

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

次の表は、コンフィグファイル例のパラメータを説明したものです。コンフィグファイルの全リストはMilvus Migration を参照してください:Milvus1.xからMilvus2.xへの移行をご参照ください。

  • dumper

    パラメータ説明
    dumper.worker.limitダンパースレッドの同時実行数。
    dumper.worker.workMode移行ジョブの動作モード。Milvus 1.x からマイグレーションする場合はmilvus1x に設定します。
    dumper.worker.reader.bufferSize各バッチでMilvus 1.xから読み込むバッファサイズ。単位:KB。
    dumper.worker.writer.bufferSize各バッチでMilvus 2.xに書き込むバッファサイズ。単位: KBKB。
  • loader

    パラメータ説明
    loader.worker.limitローダースレッドの同時実行数。
  • meta

    パラメータ説明
    meta.modeメタ・ファイルmeta.jsonの読み込み元を指定する。有効な値:local remote,mysql,sqlite.
    meta.localFilemeta.json ファイルが存在するローカル・ディレクトリ・パス。このコンフィグは、meta.modelocal に設定されている場合にのみ使用されます。その他のmetaコンフィグについては、README_1Xを参照してください。
  • source

    パラメータ説明
    source.modeソース・ファイルの読み込み元を指定します。有効な値:
    -local: ローカル・ディスクからファイルを読み込む。
    -remote: リモート・ストレージからファイルを読み込む。
    source.local.tablesDirソース・ファイルが置かれているディレクトリ・パス。例えば、/db/tables/
  • target

    パラメータ説明
    target.modeダンプ・ファイルの格納場所。有効な値:
    -local: ダンプされたファイルをローカルディスクに保存します。
    -remote: ダンプされたファイルをオブジェクトストレージに保存します。
    target.remote.outputDirクラウドストレージバケット内の出力ディレクトリパス.
    target.remote.akMilvus 2.x ストレージのアクセスキー.
    target.remote.skMilvus 2.xストレージのシークレットキー
    target.remote.cloudクラウドストレージサービスプロバイダ.値の例:aws gcp,azure.
    target.remote.regionクラウドストレージのリージョン。ローカルのMinIOを使用する場合は任意の値を指定できます。
    target.remote.bucketデータを保存するバケット名。値はMilvus 2.xの設定と同じでなければなりません。詳細はシステム設定を参照してください。
    target.remote.useIAM接続にIAM Roleを使用するかどうか。
    target.remote.checkBucket指定したバケットがオブジェクトストレージに存在するかチェックするかどうか。
    target.milvus2x.endpoint接続先Milvusサーバのアドレス
    target.milvus2x.usernameMilvus2.xサーバのユーザ名。このパラメータは、Milvus サーバでユーザ認証が有効になっている場合に必要です。詳細については、「認証の有効化」を参照してください。
    target.milvus2x.passwordMilvus 2.xサーバのパスワード。このパラメータは、Milvus サーバでユーザ認証が有効になっている場合に必要です。詳細については、「認証の有効化」を参照してください。

移行タスクの開始

  1. 以下のコマンドで移行タスクを開始します。{YourConfigFilePath} は設定ファイルmigration.yaml が存在するローカルディレクトリに置き換えてください。

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

    上記のコマンドはMilvus 1.xのソースデータをNumPyファイルに変換し、bulkInsertオペレーションを使ってターゲットバケットにデータを書き込む。

  2. NumPyファイルが生成されたら、以下のコマンドでこれらのファイルをMilvus 2.xにインポートする。{YourConfigFilePath} は設定ファイルmigration.yaml が存在するローカルディレクトリに置き換えてください。

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

結果の確認

マイグレーションタスクが実行されると、APIコールやAttuを使用してマイグレーションされたエンティティ数を確認することができます。詳細については、Attuおよびget_collection_stats() を参照してください。

翻訳DeepL

Try Managed Milvus for Free

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

Get Started
フィードバック

このページは役に立ちましたか ?