Milvus 2.3.xから
このガイドでは、Milvus 2.3.xからMilvus 2.3.x以上への包括的なデータ移行手順をステップバイステップで説明します。
前提条件
- ソフトウェアのバージョン
- 移行元Milvus: 2.3.0+ (本ツールはイテレータを使用して移行元コレクションデータを取得するため、移行元Milvusのバージョンは2.3.0以上である必要があります)
- ターゲットMilvus: 2.3.0+.
- 必要なツール
- Milvus-migrationツール。インストールの詳細については、マイグレーションツールのインストールを参照してください。
- データの準備
- 移行元のMilvusコレクションがロードされ、データエクスポートの準備ができていることを確認する。
- ターゲットMilvusにソースコレクションに対応するコレクションがない場合、milvus-migrationtoolが自動的に作成します。マイグレーション後、ターゲットコレクションにはインデックスが作成されないので、その後手動でインデックスを作成する必要があることに注意してください。
マイグレーションファイルの設定
マイグレーション設定ファイルの例をmigration.yaml
として保存し、実際の条件に基づいて設定を変更します。設定ファイルを任意のローカルディレクトリに置くことは自由です。
dumper:
worker:
workMode: milvus2x
reader:
bufferSize: 500
meta:
mode: config
version: 2.3.0
collection: src_table_name
source:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
target:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
次の表は、例のconfigファイルのパラメータを説明したものです。詳細はMilvus Migration を参照してください:Milvus2.xからMilvus2.xへの移行」を参照してください。
dumper
パラメータ 説明 dumper.worker.workMode
移行ジョブの動作モード。Milvus 2.xから移行する場合はmilvus2xに設定します。 dumper.worker.reader.bufferSize
各バッチでMilvus2.xから読み込むバッファサイズ。 meta
パラメータ 説明 meta.mode
メタ・ファイルの読み込み元を指定します。configに設定すると、このmigration.yamlファイルからメタ設定を取得できることを示します。 meta.version
ソースMilvusバージョン。2.3.0以上に設定します。 meta.collection
ソース コレクション名。 source
パラメータ 説明 source.milvus2x.endpoint
ソースMilvusサーバのアドレス。 source.milvus2x.username
ソースMilvusサーバのユーザ名。このパラメータはMilvusサーバでユーザ認証が有効になっている場合に必要です。詳細については、認証の有効化を参照してください。 source.milvus2x.password
Milvusサーバーのパスワード。このパラメータは、Milvus サーバでユーザ認証が有効になっている場合に必要です。詳細については、「認証の有効化」を参照してください。 target
パラメータ 説明 target.milvus2x.endpoint
ターゲットMilvusサーバのアドレス。 target.milvus2x.username
対象のMilvusサーバーのユーザー名。このパラメータはMilvusサーバでユーザ認証が有効になっている場合に必要です。詳細については、認証の有効化を参照してください。 target.milvus2x.password
対象のMilvusサーバのパスワード。このパラメータはMilvusサーバでユーザ認証が有効になっている場合に必要です。詳細については、「認証の有効化」を参照してください。
移行タスクの開始
移行タスクを開始するには、CLIを使用するか、APIリクエストを行うかの2つのオプションがあります。ニーズに合わせて選択してください。
オプション1: CLIを使用する
次のコマンドで移行タスクを開始します。{YourConfigFilePath}
を、設定ファイルmigration.yaml
が存在するローカルディレクトリに置き換えます。
./milvus-migration start --config=/{YourConfigFilePath}/migration.yaml
ログを監視して進行状況を確認します。移行に成功したログには、次のようなエントリが含まれているはずです:
[INFO] [migration/milvus2x_starter.go:79] ["=================>JobProcess!"] [Percent=100]
[INFO] [migration/milvus2x_starter.go:27] ["[Starter] migration Milvus2x to Milvus2x finish!!!"] [Cost=94.877717375]
[INFO] [starter/starter.go:109] ["[Starter] Migration Success!"] [Cost=94.878243583]
オプション2:APIリクエストを行う
Restful APIを使ってマイグレーションを実行することもできる。でAPIサーバーを起動する:
./milvus-migration server run -p 8080
サーバーが正常に起動したら、migration.yaml
ファイルをプロジェクトのconfigs/
ディレクトリに配置し、マイグレーションを開始します:
curl -XPOST http://localhost:8080/api/v1/start
結果を検証する
移行タスクが完了したら、Attu を使用して移行されたエンティティの数を表示します。さらに、Attuでインデックスを作成し、コレクションをロードすることができます。詳細については、Attuおよびget_collection_stats() を参照してください。
追加設定オプション
上記の基本設定に加えて、特定の要件に基づいて追加設定を追加することもできます。
選択的フィールド移行:コレクション内のすべてのフィールドではなく、特定のフィールドのみを移行する必要がある場合は、
migration.yaml
ファイルのmeta
セクションで移行するフィールドを指定します。meta: fields: - name: id - name: title_vector - name: reading_time
カスタム・ターゲット・コレクション:ターゲットコレクションのプロパティをカスタマイズするには、
migration.yaml
ファイルのmeta
セクションに関連する構成を追加します。meta: milvus: collection: target_collection_name shardNum: 2 closeDynamicField: false consistencyLevel: Customized
詳細についてはMilvus Migration を参照してください:Milvus2.xからMilvus2.xへの移行を参照してください。