milvus-logo
LFAI
首页
  • Milvus 迁移

Milvus 迁移概述

认识到用户群的多样化需求,Milvus 扩展了其迁移工具,不仅便于从 Milvus 1.x 早期版本升级,还能无缝集成来自ElasticsearchFaiss 等其他系统的数据。Milvus 迁移项目旨在弥合这些不同数据环境与 Milvus 技术最新进展之间的差距,确保您能无缝利用改进的功能和性能。

支持的迁移

Milvus-migration工具支持多种迁移路径,以满足不同用户的需求:

特点

Milvus-migration 具有强大的功能,可处理各种迁移情况:

  • 多种交互方式:你可以通过命令行界面或Restful API来执行迁移,并可灵活掌握迁移的执行方式。
  • 支持各种文件格式和云存储:Milvus 迁移工具可以处理存储在本地文件以及 S3、OSS 和 GCP 等云存储解决方案中的数据,确保广泛的兼容性。
  • 数据类型处理:Milvus-migration既能处理向量数据,也能处理标量字段,是满足不同数据迁移需求的多功能选择。

架构

Milvus-migration的架构设计具有战略意义,可促进高效的数据流、解析和写入过程,实现跨各种数据源的强大迁移能力。

Milvus-migration architecture Milvus-迁移架构

在上图中

  • 数据源 Milvus-migration支持多种数据源,包括通过scroll API读取的Elasticsearch、本地或云存储数据文件,以及Milvus 1.x数据库。这些数据都可以通过简化的方式访问和读取,从而启动迁移过程。
  • 流水线
    • 解析过程:来自数据源的数据将根据其格式进行解析。例如,对于来自 Elasticsearch 的数据源,会使用 Elasticsearch 格式解析器,而其他格式则使用各自的解析器。这一步对于将原始数据转换为可进一步处理的结构化格式至关重要。
    • 转换过程:解析后,数据将进行转换,根据目标 Milvus 2.x 模式过滤字段、转换数据类型并调整表名。这可确保数据符合 Milvus 的预期结构和类型。
  • 数据写入和加载
    • 写入数据:将处理后的数据写入中间 JSON 或 NumPy 文件,以便加载到 Milvus 2.x 中。
    • 加载数据:使用BulkInsert操作将数据最终加载到 Milvus 2.x,该操作可高效地将大量数据写入 Milvus 存储系统(基于云或文件存储)。

未来计划

开发团队致力于通过以下功能增强Milvus 迁移功能:

  • 支持更多数据源:计划扩展对其他数据库和文件系统的支持,如 Pinecone、Chroma 和 Qdrant。如果你需要特定数据源的支持,请通过GitHub 问题链接提交请求。
  • 命令简化:努力简化命令流程,使其更易于执行。
  • SPI 解析器/转换器:该架构有望包含用于解析和转换的服务提供商接口 (SPI) 工具。这些工具允许自定义实现,用户可将其插入迁移过程,以处理特定的数据格式或转换规则。
  • 检查点恢复:允许迁移从上一个检查点恢复,以提高迁移中断时的可靠性和效率。将创建保存点以确保数据完整性,并将保存点存储在 SQLite 或 MySQL 等数据库中,以跟踪迁移过程的进度。

翻译自DeepLogo

反馈

此页对您是否有帮助?