Milvus 3.0 介绍与选型指南
Milvus 3.0 介绍与选型指南:官方资料溯源的云原生向量数据库架构(3.0.2 起默认 Woodpecker MQ)、Standalone/分布式部署、功能特性与适用限制,以及与 Qdrant、Weaviate、pgvector、Elasticsearch、Chroma 的量化选型对比(2026-10-19 实查,未做本地安装实测)。
Milvus 3.0 介绍与选型指南
目标:基于 Milvus 官方公开资料(GitHub 官方仓库与 Releases、milvus.io 官方文档)梳理其定位、架构、功能与选型口径,并与 Qdrant、Weaviate、pgvector、Elasticsearch、Chroma 做量化对比。本文仅做官方资料溯源,不做本地安装与运行实测;全部版本号、日期与社区数据于 2026-10-19 联网实查。
一、信息基准
1.1 查询说明
- 查询日期:2026-10-19。
- 信息获取方式:纯官方资料溯源(milvus-io/milvus 官方仓库与 Releases、milvus.io 官方文档站),本文不做本地安装与运行实测。
- 版本结论:本次介绍的版本为 Milvus 3.0 系列。GitHub 最新发布为 v3.0.3(2026-10-14,发行说明标注"coming..."尚未随发),最后一个附完整官方发行说明的补丁为 v3.0.2(2026-09-20);同时 2.6 维护线仍活跃(2.6.25,2026-09-29)。本文以 3.0 系列为介绍基准。
1.2 版本依据
| 项目 | 实查结果(2026-10-19) | 来源 |
|---|---|---|
| 最新发布 | v3.0.3(2026-10-14,发行说明未随发) | github.com/milvus-io/milvus/releases(releases.atom) |
| 最新完整说明补丁 | v3.0.2(2026-09-20);v3.0.1(2026-09-09);v3.0.0(2026-07-29) | 同上 |
| 2.6 维护线 | 2.6.25(2026-09-29)、2.6.24(2026-09-16)、2.6.23(2026-08-28)、2.6.22(2026-08-04) | 同上 |
| SDK 版本对应(3.0.2) | Python 3.0.2 / Node.js 3.0.6 / Java 3.0.10 / Go 3.0.2 | v3.0.2 官方发行说明 |
| 代码仓库 | milvus-io/milvus | github.com/milvus-io/milvus |
| GitHub stars | 35455 | GitHub API(2026-10-19 实查) |
| 开源许可 | Apache License 2.0 | GitHub API license 字段 |
| 官方站点 | milvus.io | 仓库 homepage |
1.3 官方来源清单
二、软件概述
本文介绍的是 Milvus 3.0 系列(最新完整发行说明补丁 v3.0.2,2026-09-20 发布)。
Milvus 是一个高性能、云原生的开源向量数据库,专为可扩展的向量近似最近邻(ANN)检索构建(官方仓库描述),由 LF AI & Data 基金会毕业项目背后的社区与 Zilliz 主导维护。它同时存储对象与向量、支持标量过滤与向量检索的组合查询,覆盖推荐、RAG、以图搜图、多模态检索等场景(仓库 topics 官方标注:vector-database、rag、hnsw、diskann 等)。
Milvus 在 GitHub(milvus-io/milvus)上拥有 35455 stars、3260 forks(2026-10-19 实查,GitHub API),以 Apache License 2.0 发布,主语言为 Go。当前 3.0 系列与 2.6 系列双线维护,发版节奏为月度补丁级别(2026-07 至 2026-10 实查:3.0.0 → 3.0.3、2.6.21 → 2.6.25)。
三、核心架构
3.1 部署形态
- Standalone(单机):官方提供
standalone_embed.sh脚本,以单个 Docker 容器运行,内嵌 etcd(端口 2379)、数据卷映射至volumes/milvus(官方文档 install_standalone-docker.md)。 - 分布式:面向大规模场景的多组件部署,官方文档提供 Helm/Kubernetes 部署与扩容路径(官方 docs「What's next」:Scale your Milvus cluster、Helm 升级等条目)。
3.2 3.0.2 起的默认组件栈
官方 Docker Standalone 文档「What's new in v3.0.2」明确:
- Streaming Node:数据处理能力增强;
- Woodpecker MQ(默认):以本地文件系统为 WAL 后端的消息队列,单机部署无需外部消息队列服务;
- 架构整合:组件合并以提升性能。
可选依赖保持开放:消息队列可替换为 Pulsar、Kafka、RocksMQ;对象存储支持 MinIO(默认)、AWS S3、Azure Blob、GCP Cloud Storage、阿里云 OSS、腾讯云 COS、华为云 OBS 等 S3 兼容服务;元数据可外接 etcd(官方文档「Optional dependencies」一节)。
3.3 观测与管理
- 内置 Milvus WebUI(
http://127.0.0.1:9091/webui/,9091 为健康检查/管理端口); - 官方生态提供 Attu(图形化管理)、Prometheus 监控、Milvus Backup(备份)、Birdwatcher(调试与动态配置)等配套工具(官方文档「What's next」一节)。
四、功能特性
4.1 检索能力
- 向量 ANN 检索与混合搜索(Hybrid Search/多向量检索,官方文档导航条目 Single-Vector Search / Multi-Vector Search);
- 标量过滤与向量检索组合;3.0.2 改进 ARRAY 过滤(链式 contains 合并为
ContainsAny/ContainsAll单表达式)并统一 Bloom/Roaring 成员判断为membership_match表达式(v3.0.2 发行说明实查); - 文本检索配套:Tantivy 索引支撑 text match、NGRAM 与 JSON key stats(v3.0.2 发行说明)。
4.2 存储与外部集成
- 外部 collection(External Collections):支持通过
extfs.endpoint_url自定义 S3 兼容端点(v3.0.2 发行说明); - Storage V2 支持(v3.0.2);官方文档提示 Storage V3 默认关闭、启用前需核对兼容性(install_standalone-docker.md)。
4.3 性能与稳定性
- v3.0.2 聚焦搜索/查询性能:消除过滤搜索、group-by、索引构建热路径上的锁竞争(其中标量过滤求值路径的原子引用计数热点约占叶节点 CPU 时间的 48%),并降低写放大(v3.0.2 发行说明实查);
- RESTful v2 DQL 端点新增准入控制:代理查询队列满时在解码请求前返回 HTTP 429 并附
Retry-After(v3.0.2 发行说明)。
4.4 版本节奏
3.0.0(2026-07-29)→ 3.0.1(2026-09-09)→ 3.0.2(2026-09-20)→ 3.0.3(2026-10-14,说明未随发),补丁周期约 2–6 周;2.6 维护线同周期滚动(2.6.21 → 2.6.25),官方以「双线并行」持续交付(GitHub Releases 实查)。
五、快速上手
以下步骤转述自官方文档《Run Milvus in Docker (Linux)》(https://milvus.io/docs/install_standalone-docker.md ),本文不做本地实测。
5.1 一键启动 Standalone
curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh
bash standalone_embed.sh start
5.2 启动后
- 容器
milvus-standalone运行,gRPC 服务端口 19530; - 内嵌 etcd 于同容器 2379 端口,配置映射至
embedEtcd.yaml; - 数据卷位于
volumes/milvus;WebUI 位于http://127.0.0.1:9091/webui/。
5.3 配置与升级
- 自定义配置写入当前目录
user.yaml后重启生效;升级使用bash standalone_embed.sh upgrade(自动拉取最新镜像并保留数据);停止/删除为stop/delete子命令(官方文档)。
本站已实测的容器化部署与分布式伪集群方案见 《Milvus Docker Compose 部署指南》。
六、适用场景与限制
6.1 适用场景
- 大规模向量检索与 RAG 知识库:分布式架构 + 对象存储底座,面向亿级以上向量规模(官方定位)。
- 混合查询:向量 + 标量/文本/JSON 过滤组合,多向量联合检索。
- 云原生生产环境:Kubernetes/Helm 部署、可替换 MQ 与对象存储、Prometheus 观测配套完整。
- 需要多种语言 SDK 的团队:官方同步维护 Python/Node.js/Java/Go SDK(v3.0.2 发行说明版本对应表)。
6.2 限制与注意事项
- 组件栈相对重:完整分布式形态涉及消息队列、对象存储、元数据存储等外部依赖;3.0.2 起 Standalone 默认 Woodpecker + 内嵌 etcd 已明显简化,但生产化仍需按官方文档核对依赖矩阵。
- 版本演进快:3.0 系列月度级发版,升级前应核对发行说明与 Storage V2/V3 等特性开关状态(官方文档明确 Storage V3 默认禁用)。
- v3.0.3 发行说明尚未发布(2026-10-19 实查),生产采用建议锁定有完整说明的 v3.0.2 并跟踪官方更新。
- 向量库选型需结合数据规模、过滤复杂度与运维预算综合评估,非「越大越好」。
七、同类选型对比
7.1 候选概览
| 工具 | 定位 | 开源许可 |
|---|---|---|
| Milvus 3.0 | 云原生分布式向量数据库 | Apache-2.0 |
| Qdrant 1.19 | Rust 单二进制向量搜索引擎 | Apache-2.0 |
| Weaviate 1.40 | 模块化混合检索向量数据库 | BSD-3-Clause(wl/ 目录为 Weaviate 企业许可) |
| pgvector 0.8 | PostgreSQL 向量扩展 | PostgreSQL License |
| Elasticsearch 9.5 | 分布式搜索/分析引擎(含向量检索) | AGPL-3.0 / Elastic License 2.0(仓库 LICENSE 口径) |
| Chroma 1.5 | AI 原生嵌入式检索库/服务 | Apache-2.0 |
7.2 量化对比(2026-10-19 实查)
| 维度 | Milvus 3.0.3/3.0.2 | Qdrant 1.19.2 | Weaviate v1.40.1 | pgvector 0.8.7 | Elasticsearch 9.5.5 | Chroma 1.5.9 |
|---|---|---|---|---|---|---|
| GitHub stars | 35455(milvus-io/milvus,GitHub API) | 约 3.4 万(第三方 2026-08-19 快照 34062;官网自述 29K) | 16890(weaviate/weaviate,GitHub API) | 约 2.3 万(atlan.com 2026-09 口径 23061) | 71500+(Elastic 官方博客统计;第三方 2026 快照约 7.6 万) | 29527(chroma-core/chroma,GitHub API) |
| 最近发版 | v3.0.3(2026-10-14);2.6.25(2026-09-29) | v1.19.2(2026-10-05;1.19.1 为 2026-09-04) | v1.40.1(2026-10-13;1.40.0 为 2026-10-07) | v0.8.7(2026-10-01;0.8.6 为 2026-07-29) | v9.5.5(发行记录更新 2026-10-06;9.4 线并行) | 1.5.9(2026-05-05,最新稳定 tag;main 滚动 dev 1.5.10.dev) |
| 版本节奏 | 3.0/2.6 双线并行,月度级补丁 | minor 约 4–5 周一个,2026 年至 1.19 | 1.x minor 约月度,补丁密集 | 0.x 小步快跑,2026 年 6 月起补丁密集 | 9.5/9.4 双线并行补丁 | 稳定 tag 节奏放缓,CI 滚动 dev 镜像 |
| 技术栈 | Go | Rust | Go | C(PG 扩展) | Java(Lucene) | Rust |
| 形态侧重 | 分布式大规模 + 云原生组件栈 | 轻量单二进制、嵌入式友好 | 混合检索 + 模块化向量化集成 | 复用既有 PostgreSQL | 全文检索生态 + 向量能力一体化 | 嵌入式/原型友好 |
| 兼容矩阵要点 | 依赖 MQ/对象存储/etcd 可替换(Woodpecker 默认) | 单二进制 + REST/gRPC | 单二进制 + GraphQL/gRPC/REST | 随 PostgreSQL 版本 | JVM 生态 | Python/JS 客户端,pip 镜像多架构 |
(stars 与发版时间以 GitHub Releases/Atom 与 GitHub API 实查为准,查询日期 2026-10-19;Qdrant/pgvector/Elasticsearch 的 stars 因 API 限流采用第三方快照与官方博客口径,已在表内标注。)
7.3 选型建议
- 面向亿级向量、多副本高可用、需要完整云原生组件栈与多语言 SDK 的生产系统,优先 Milvus。
- 追求单二进制轻量部署、Rust 性能与嵌入式场景,可选 Qdrant。
- 以混合检索(向量 + BM25 类关键词)与模块化嵌入集成为核心诉求,选 Weaviate(注意其
wl/目录企业功能的许可边界)。 - 数据已在 PostgreSQL、规模中小且希望运维栈最小化,直接用 pgvector 最经济。
- 已有 Elastic 栈、希望全文检索与向量检索一体化承载,可评估 Elasticsearch(许可为 AGPL-3.0/Elastic License 双口径,商用前需法务确认)。
- Python 原型验证、个人项目或轻量 RAG demo,Chroma 上手最快(注意其稳定 tag 更新节奏放缓、main 分支为滚动 dev)。本站同类文档可参考 《Chroma 1.5.9 介绍与选型指南》 与 《Elasticsearch 9.5.5 介绍与选型指南》。
八、参考链接
- 官方站点:https://milvus.io
- 官方文档:https://milvus.io/docs
- Docker Standalone 部署文档:https://milvus.io/docs/install_standalone-docker.md
- 源码仓库:https://github.com/milvus-io/milvus
- 发行列表:https://github.com/milvus-io/milvus/releases
- Qdrant 仓库:https://github.com/qdrant/qdrant
- Weaviate 仓库:https://github.com/weaviate/weaviate
- pgvector 仓库:https://github.com/pgvector/pgvector
- Elasticsearch 仓库:https://github.com/elastic/elasticsearch
- Chroma 仓库:https://github.com/chroma-core/chroma