Hotdry.
ai-systems

Milvus 7年演进:两次架构重构与向量数据湖的技术抉择

分析Milvus向量数据库7年演进中的架构重构决策、性能优化策略与向量检索算法改进的工程权衡,聚焦存储计算分离与向量数据湖的技术演进。

引言:向量数据库基础设施的七年演进

2017 年,当 Zilliz 团队开始思考如何高效存储和检索高维向量嵌入时,“向量数据库” 这个术语尚未诞生。七年后的今天,Milvus 已成为拥有超过 40,000 GitHub 星标的开源项目,被 Forrester 评为向量数据库领域的领导者,并支撑着从 Bosch 自动驾驶到全球金融科技巨头的 AI 基础设施。这七年的演进不仅是一个开源项目的成长史,更是向量数据库作为 AI 基础设施核心组件从概念验证到生产就绪的技术演进史。

Milvus 的演进路径清晰地反映了 AI 应用对基础设施需求的变迁:从早期的研究性向量检索,到企业级生产部署,再到 RAG(检索增强生成)驱动的规模化应用,最终走向成本优化的向量数据湖架构。每一次技术转折都伴随着艰难的工程决策,特别是两次重大的架构重构 —— 从 1.0 到 2.0 的完全重写,以及正在进行的向 3.0 向量数据湖的演进。

第一阶段(2017-2021):从概念到生产就绪的 1.0

技术起点与市场空白

2017 年,AI 应用开始涌现,非结构化数据爆炸式增长,但传统数据库并非为高维向量设计。团队尝试了所有可用方案:在 Elasticsearch 上拼凑解决方案,在 MySQL 上构建自定义索引,甚至实验了 FAISS。然而,FAISS 作为研究库而非生产数据库基础设施,无法满足企业 AI 工作负载的完整需求。

正如 Milvus 团队在回顾文章中所说:“传统数据库是为行和列优化的,而不是高维向量。现有技术和工具要么不可能,要么对我们需要的功能来说太慢了。”

1.0 版本的工程突破

2019 年 11 月,Milvus 0.10 版本开源,这标志着向量数据库作为一个新类别的基础设施软件正式进入开发者视野。2021 年,Milvus 1.0 发布并在同年从 LF AI & Data 基金会毕业,赢得了 BigANN 全球挑战赛的十亿级向量搜索冠军。

这一阶段的技术重点集中在:

  • 基础向量检索能力:支持 ANN(近似最近邻)搜索算法
  • 索引优化:IVF、HNSW 等索引策略的实现与优化
  • 基础架构稳定性:确保向量检索的准确性与性能一致性

然而,随着企业客户的增加,1.0 架构的局限性逐渐显现。客户普遍要求更好的云原生架构、更简单的水平扩展和更高的操作简便性。团队面临关键抉择:是继续修补现有架构,还是从头开始重建。

第二阶段(2021-2022):存储计算分离的架构重构

重构的工程决策

2022 年,Milvus 团队做出了可能是项目历史上最艰难的决定:完全重写代码库,从 1.0 迁移到 2.0。这不是渐进式改进,而是彻底的架构变革。重构的核心是引入存储计算分离架构,这一决策基于对云原生时代基础设施趋势的深刻理解。

存储计算分离带来了几个关键优势:

  1. 动态可扩展性:计算节点和存储节点可以独立扩展,根据工作负载需求灵活调整资源
  2. 成本优化:冷热数据分层存储,高频访问数据保留在高速存储,低频数据迁移到低成本对象存储
  3. 容错与高可用:组件故障隔离,单点故障不影响整体系统可用性

技术实现细节

Milvus 2.0 的架构包含四个核心组件:

  • 协调节点(Coordinator):负责元数据管理、负载均衡和任务调度
  • 查询节点(Query Node):处理向量搜索请求,执行查询计划
  • 数据节点(Data Node):管理数据段(segment)的持久化存储
  • 索引节点(Index Node):构建和维护向量索引

这种解耦架构使得每个组件都可以独立部署和扩展。例如,在查询高峰期可以增加查询节点实例,而在数据导入期间可以扩展数据节点容量。这种灵活性对于应对 RAG 应用的不确定工作负载模式至关重要。

第三阶段(2023-2024):RAG 驱动的规模化与商业化

市场转折点

2023 年,RAG 技术成为 AI 应用的主流模式,语义搜索从有趣的 AI 技术转变为聊天机器人、文档问答系统和 AI 代理的必备基础设施。这一转变对 Milvus 产生了深远影响:

  1. 工作负载特征变化:从批处理向量搜索转向实时交互式检索
  2. 数据规模爆炸:从数千万向量扩展到数百亿向量
  3. 延迟要求调整:由于 LLM 生成响应本身需要时间,用户对检索延迟的容忍度提高

商业化与开源平衡

随着企业采用率的增加,Milvus 团队推出了 Zilliz Cloud—— 完全托管的 Milvus 服务。这一决策引发了关于开源项目商业化的讨论,但团队的解释揭示了基础设施软件的现实挑战:“维护企业级基础设施既昂贵又复杂。Zilliz Cloud 使我们能够持续并加速 Milvus 的开发,同时保持核心项目完全开源。”

Zilliz Cloud 的技术差异化包括:

  • AI 驱动的 AutoIndex 引擎:比开源 Milvus 快 3-5 倍的查询速度,无需索引调优
  • 内置安全与合规:静态和传输中加密、细粒度 RBAC、全面审计日志
  • 成本优化架构:分层热 / 冷数据存储、弹性扩展、按使用付费定价

第四阶段(2025+):向量数据湖与成本优化新方向

向量数据湖的技术愿景

Milvus 2025 年路线图揭示了项目的下一个演进方向:向量数据湖。这一概念的核心洞察是:并非所有向量搜索都需要毫秒级延迟。许多企业拥有大量偶尔查询的数据集,包括历史文档分析、批量相似性计算和长期趋势分析。

向量数据湖的技术特点包括:

  • 统一数据栈:无缝连接在线和离线数据层,保持一致的格式和高效存储
  • 兼容计算生态系统:原生支持 Spark 和 Ray 等框架,支持从向量搜索到传统 ETL 和分析的所有功能
  • 成本优化架构:热数据保留在 SSD 或 NVMe 上以便快速访问;冷数据自动迁移到 S3 等对象存储

与 S3 Vectors 的竞争与互补

2025 年,AWS 推出了 S3 Vectors,引发了关于向量数据库未来的讨论。然而,从技术架构角度看,S3 Vectors 更适合作为向量数据湖的存储层,而非完整的向量数据库解决方案。

关键区别在于:

  1. 索引策略:专业向量数据库提供多种索引算法(IVF、HNSW、SCANN 等)的优化实现
  2. 查询优化:成熟的查询规划器和执行引擎,支持复杂过滤和混合搜索
  3. 实时更新:支持向量数据的实时插入、更新和删除操作
  4. 分布式协调:跨多个节点的数据一致性和事务管理

正如 Zilliz 工程师在技术分析中指出的:“S3 Vectors 确实在成本和 AWS 生态系统集成方面带来了有趣的东西。但我认为它更适合作为生态系统的补充部分,与专业向量数据库协同工作,而不是替代它们。”

工程权衡与技术决策框架

架构重构的代价与收益

Milvus 的两次重大重构(1.0 到 2.0,以及正在进行的 2.x 到 3.0)揭示了基础设施软件演进的核心挑战:

技术债务管理:当现有架构无法满足新的需求时,团队必须评估重构成本与技术债务积累的长期影响。Milvus 1.0 到 2.0 的重构花费了两年时间,期间需要维护两个版本,支持用户迁移。

向后兼容性:重大架构变更必须考虑现有用户的迁移路径。Milvus 通过提供迁移工具和文档,以及保持 API 的尽可能兼容,降低了用户的迁移成本。

性能与成本的平衡

向量数据库的性能优化面临独特的挑战:

  • 内存与磁盘的权衡:全内存索引提供最佳性能但成本极高,磁盘索引降低成本但增加延迟
  • 精度与速度的平衡:近似搜索算法(ANN)在精度和速度之间提供可调节的权衡
  • 索引构建与查询的资源配置:索引构建是计算密集型操作,需要与查询工作负载隔离

Milvus 2.6 版本的重点是成本优化,包括:

  • 简化部署,减少依赖
  • 更快的数椐摄取管道
  • 降低存储成本
  • 更高效地处理大规模数据操作

开源与商业化的协同

Milvus 的成功展示了开源项目商业化的可行路径:

  1. 核心价值开源:基础向量数据库功能保持开源,建立社区信任
  2. 增值服务商业化:托管服务、企业支持、高级功能作为商业产品
  3. 生态共赢:与云提供商合作,即使他们提供自己的托管版本

这种模式确保了项目的可持续性,同时保持了技术的开放性。

向量数据库基础设施的未来趋势

多模态向量检索

随着多模态 AI 模型的发展,向量数据库需要支持不仅仅是文本嵌入。未来的趋势包括:

  • 图像和视频向量:支持视觉内容的相似性搜索
  • 跨模态检索:文本到图像、图像到文本的跨模态搜索
  • 时序向量:时间序列数据的向量表示和检索

智能索引管理

当前的索引选择仍然需要专业知识。未来的发展方向包括:

  • 自动索引选择:基于工作负载特征自动推荐最佳索引策略
  • 动态索引调整:根据查询模式变化自动调整索引参数
  • 成本感知索引:在性能目标和成本约束下优化索引配置

边缘计算集成

随着 AI 应用向边缘扩展,向量数据库需要适应边缘环境:

  • 轻量级部署:资源受限环境下的优化版本
  • 离线能力:断网或高延迟环境下的本地检索
  • 联邦学习支持:分布式向量索引的协同训练和更新

结论:基础设施演进的工程智慧

Milvus 的七年演进不仅是技术进步的记录,更是工程决策智慧的体现。从早期解决基础向量检索问题,到存储计算分离的架构重构,再到 RAG 驱动的规模化,最后走向成本优化的向量数据湖,每一步都反映了对市场趋势和技术挑战的深刻理解。

关键启示包括:

  1. 架构灵活性至关重要:存储计算分离为应对不确定工作负载提供了必要的基础
  2. 成本优化是规模化关键:随着数据量增长,存储和计算成本成为主要约束
  3. 开源与商业化的平衡:核心功能开源建立信任,增值服务商业化确保可持续性
  4. 生态系统的协同演进:与云服务、计算框架和 AI 模型的深度集成

向量数据库作为 AI 基础设施的核心组件,其演进仍在继续。随着 AI 应用变得更加复杂和普及,对高效、可扩展且成本优化的向量检索解决方案的需求只会增长。Milvus 的历程为基础设施软件的长期演进提供了宝贵的经验:在技术理想与现实约束之间找到平衡,在架构纯洁性与用户需求之间做出明智的权衡,在开源精神与商业可持续性之间建立协同。

对于正在构建 AI 应用的工程师和架构师而言,理解向量数据库的技术演进不仅有助于选择合适的技术栈,更能洞察基础设施软件的发展规律,为未来的技术决策提供参考框架。


资料来源

  1. Milvus 官方博客:Our Journey to 35K+ GitHub Stars: Building Milvus from Scratch
  2. Milvus 2025 年路线图文档
  3. Zilliz 技术分析:Will Amazon S3 Vectors Kill Vector Databases — or Save Them?
查看归档