迁移概述(migrate_overview)

MilvusDM (opens in a new tab)(Milvus 数据迁移)是一款专门设计用于 Milvus 数据的导入和导出的开源工具。MilvusDM 可以让您迁移集合或分区中的数据。

目前, MilvusDM 只支持 Milvus 1.x 版本。

为了大幅提高数据管理效率并降低 DevOps 成本, MilvusDM 支持以下迁移通道:

MilvusDM

MilvusDM。

MilvusDM 托管在 GitHub 上。要安装 MilvusDM,请运行:

pip3 install pymilvusdm
 

MilvusDM 文件结构

下面的流程图显示了 MilvusDM 根据其接收到的 .yaml 文件执行不同任务的方式:

文件结构

MilvusDM 文件结构。

MilvusDM 文件结构:

  • pymilvusdm
    • core
      • milvus_client.py:在 Milvus 中执行客户端操作。
      • read_data.py:读取本地驱动器上的 HDF5 文件。(在此处添加代码以支持读取其他格式的数据文件。)
      • read_faiss_data.py:读取 Faiss 数据文件。
      • read_milvus_data.py:读取 Milvus 数据文件。
      • read_milvus_meta.py:读取 Milvus 元数据。
      • data_to_milvus.py:根据 .yaml 文件中指定的方式创建集合或分区,并将向量及其对应的 ID 导入 Milvus。
      • save_data.py:将数据保存为 HDF5 文件。
      • write_logs.py:在运行时编写 debug/info/error 日志。
    • faiss_to_milvus.py:将 Faiss 数据导入 Milvus。
    • hdf5_to_milvus.py:将 HDF5 文件导入 Milvus。
    • milvus_to_milvus.py:从源 Milvus 迁移数据到目标 Milvus。
    • milvus_to_hdf5.py:将 Milvus 数据保存为 HDF5 文件。
    • main.py:根据接收到的 .yaml 文件执行任务。
    • setting.py:存储 MilvusDM 操作的配置。
  • setup.py: 创建并上传 pymilvusdm 文件包到 PyPI(Python 包索引)。

增强计划

在未来的版本中,MilvusDM 将提供更多的新特性,包括 MilvusDump 和 MilvusRestore 支持导出所有 Milvus 数据、恢复指定集合和分区中的数据、恢复中断的下载等。

MilvusDM 项目已在 GitHub (opens in a new tab) 上开源。欢迎为该项目做出贡献。给它点个赞 🌟,随时 提交问题 (opens in a new tab) 或提交您自己的代码!