版本迁移
本主题描述如何使用 VTS(专为 Milvus 数据迁移设计的开源工具)将数据从 Milvus 1.x 迁移到 Milvus 2.0。
MilvusDM 不支持将数据从 Milvus 2.0 单机版迁移到 Milvus 2.0 集群版。
前提条件
在迁移 Milvus 数据之前,您需要安装 MilvusDM。
1. 下载 YAML 文件
下载 M2M.yaml
文件。
$ wget https://raw.githubusercontent.com/milvus-io/milvus-tools/main/yamls/M2M.yaml
2. 设置参数
配置参数包括:
参数 | 描述 | 示例 |
---|---|---|
milvus_version | Milvus 版本。 | 2.0.0 |
data_path | HDF5 文件的路径。设置 data_path 或 data_dir 其中之一。 | - /Users/zilliz/float_1.h5 - /Users/zilliz/float_2.h5 |
data_dir | HDF5 文件的目录。设置 data_path 或 data_dir 其中之一。 | '/Users/zilliz/Desktop/HDF5_data' |
dest_host | Milvus 服务器地址。 | '127.0.0.1' |
dest_port | Milvus 服务器端口。 | 19530 |
mode | 迁移模式,包括 skip 、append 和 overwrite 。此参数仅在 Milvus 库中存在指定集合名称时有效。skip 表示如果指定的集合或分区已存在,则跳过数据迁移。append 表示如果指定的集合或分区已存在,则追加数据。overwrite 表示如果指定的集合或分区已存在,则在插入前删除现有数据。 | 'append' |
dest_collection_name | 要导入数据的集合名称。 | 'test_float' |
dest_partition_name (可选) | 要导入数据的分区名称。 | 'partition_1' |
collection_parameter | 集合特定信息,包括向量维度、索引文件大小和相似性度量。 | "dimension: 512 index_file_size: 1024 metric_type: 'HAMMING'" |
以下两个配置示例供您参考。第一个示例涉及设置 mysql_parameter
。如果您在 Milvus 1.x 中不使用 MySQL 管理向量 ID,请参考第二个示例。
示例 1
M2M:
milvus_version: 2.0.0
source_milvus_path: '/home/user/milvus'
mysql_parameter:
host: '127.0.0.1'
user: 'root'
port: 3306
password: '123456'
database: 'milvus'
source_collection: # specify the 'partition_1' and 'partition_2' partitions of the 'test' collection.
test:
- 'partition_1'
- 'partition_2'
dest_host: '127.0.0.1'
dest_port: 19530
mode: 'skip' # 'skip/append/overwrite'
示例 2
M2M:
milvus_version: 2.0.0
source_milvus_path: '/home/user/milvus'
mysql_parameter:
source_collection: # specify the collection named 'test'
test:
dest_host: '127.0.0.1'
dest_port: 19530
mode: 'skip' # 'skip/append/overwrite'
3. 从 Milvus 迁移数据到 Milvus
使用以下命令运行 MilvusDM 将数据从 Milvus 1.x 导入到 Milvus 2.0。
$ milvusdm --yaml M2M.yaml
下一步
- 如果您有兴趣将其他形式的数据迁移到 Milvus,
- 了解如何从 Faiss 迁移数据到 Milvus。
- 了解如何从 HDF5 迁移到 Milvus。
- 如果您有兴趣了解更多关于数据迁移工具的信息,
- 阅读 VTS 的概述。