跳到主要内容

通过备份文件从 Milvus 迁移至 Zilliz Cloud

Zilliz Cloud 提供基于 Milvus 的完全托管的向量数据库解决方案,适合希望使用 Milvus 向量数据库但不想自己管理基础设施的用户。为了实现顺利的数据迁移,您可以通过以下方式将数据从 Milvus 迁移到 Zilliz Cloud:通过 Milvus 服务器地址连接到源数据库或直接上传备份文件。

本文介绍如何通过备份文件从 Milvus 进行数据迁移。有关如何通过 Endpoint 迁移信息,请参阅通过 Endpoint 从 Milvus 迁移至 Zilliz Cloud

开始前

  • 您已根据迁移方法做好必要的迁移准备:

    • 从本地文件:提前准备本地备份文件。有关如何准备备份文件的信息,请参阅准备迁移数据

    • 从对象存储:Milvus 对象存储的公共 URL 和访问凭据。您可以选择长期或临时凭据。

  • 您需要拥有组织管理员或项目管理员的角色。如果您没有相应的权限,请联系您的 Zilliz Cloud 管理员。

准备迁移数据

Zilliz Cloud 支持从 Milvus 1.x(包括 0.9.x 及以上)和更高版本迁移数据。Milvus 向量数据库正持续发展,各版本间通常会存在重大变化。

要从 Milvus 0.9.x 到 1.x 迁移数据,需要按如下准备数据:

  1. 下载 milvus-migration。推荐下载最新版本。

  2. 停止 Milvus 安装进程或至少停止在 Milvus 中执行的所有 DML 操作。

  3. 导出安装相关的元数据到 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
  4. 复制 Milvus 安装目录下的 tables 文件夹,将 meta.jsontables 文件夹移动到一个空文件夹。

    此步骤完成后,空文件夹的结构应如下所示:

    migration_data
    ├── meta.json
    └── tables
  5. 将准备好的文件夹上传到 OSS 存储,或直接使用本地文件夹开始迁移。

将数据迁移到 Zilliz Cloud

  1. 登录 Zilliz Cloud 控制台

  2. 进入目标项目,选择数据迁移 > 从 Milvus 迁移 > 通过备份文件

  3. 从 Milvus 迁移数据页面上,

    • 如果您的数据在本地文件中:

      • 选择本地文件,上传包含您数据的文件夹,并选择目标集群。
    • 如果您的数据在对象存储中:

      • 选择对象存储,选择服务(例如 S3、Azure Blob、GCP),输入您数据的对象 URL 或 S3 URI,提供必要的凭据,并选择目标集群。

      • 通过指定适当的凭据类型提供必要的凭据:

        • 长期:使用此选项以持久访问资源,无需频繁重新认证。

        • Session:选择此选项以获取有效期有限的临时凭据,适合在特定用户会话期间进行短期访问。

  4. 单击迁移

zh_migrate_from_milvus_via_backup_file

查看迁移进度

生成迁移任务后,您可前往任务中心查看任务状态和进度。如果迁移任务的状态从进行中变更为成功,则代表迁移成功。

📘说明

迁移完成后,请验证目标集群中的 collection 和 entity 数量是否与数据源一致。如果发现不一致,请删除缺失 entity 的 collection 并重新进行迁移。

view_migration_progress_cn

Zilliz Cloud 仅支持 AUTOINDEXAUTOINDEX 是一种优化的索引算法,Zilliz Cloud 将使用此算法为您迁移的 Collection 自动创建索引。

Collection 加载后,您可以自行连接和管理 Collection。

取消迁移任务

如果迁移过程遇到任何问题,您可以采取以下步骤进行故障排除并恢复迁移:

  1. 任务中心页面,取消失败的迁移任务。

  2. 操作列点击查看详情以访问日志信息。