

Milvus 是一款开源的云原生向量数据库,专为十亿级相似度搜索而构建。由 Zilliz 提供支持,并在 NVIDIA、Salesforce 和 eBay 的生产环境中使用。支持免费自托管。Zilliz Cloud 托管服务提供免费版本,付费版本起价为 $99/month。
Milvus 是一款开源向量数据库,专为大规模高性能相似度搜索而构建,支持从单机上的数百万个向量到分布式集群中的数十亿个向量。它由 Zilliz 创建并于 2020 年捐赠给 LF AI & Data Foundation,采用 Apache 2.0 许可证分发,由全职工程团队开发,并获得了全球 200 多名开源开发者的贡献。超过 10,000 家企业组织在生产环境中运行 Milvus,包括 NVIDIA、Salesforce、eBay、Airbnb 和 DoorDash。截至 2026 年 4 月,当前的稳定版本是 Milvus 2.6.x。
其核心功能是针对高维向量嵌入的近似最近邻 (ANN) 搜索,支持 11 种以上的索引类型,包括 HNSW、IVF_FLAT、DiskANN、SCANN,以及通过 NVIDIA 的 cuVS 库实现的 GPU 加速 CAGRA。Milvus 2.5(2024 年 12 月)添加了使用 Sparse-BM25 的原生全文搜索,在单一引擎中实现了向量-关键字混合查询,无需单独部署 Elasticsearch。Milvus 2.6(2025 年 6 月)引入了 Woodpecker,这是一种云原生预写日志,消除了对 Kafka/Pulsar 的外部依赖,并增加了冷热分层存储,可降低高达 50% 的存储成本。Zilliz 还运营着 Zilliz Cloud,这是一项完全托管的 Milvus 服务,提供免费层、无服务器按需付费模式,以及起价为 $99/month 的专用集群。
2026 年 4 月的 Milvus 实际功能
Milvus 能够在足以让其他工具崩溃的庞大数据集上运行向量相似度搜索。该项目经历了两次重大的架构重建:最初的单体 1.x 系列和如今发布的完全解耦的云原生 2.x 架构。2.x 设计将存储、计算和协调分离为独立的层,因此您可以根据实际工作负载情况,将查询节点与数据摄取节点分开进行扩展。
它在开源向量数据库中拥有最广泛的索引支持。除了 HNSW,您还可以获得适用于内存受限部署的 IVF 变体、适用于磁盘十亿级索引的 DiskANN、适用于高召回率场景的 SCANN,以及通过 NVIDIA cuVS 实现的四种 GPU 加速索引类型。在同等召回率水平下,与仅使用 CPU 的 HNSW 相比,GPU CAGRA 索引在批量搜索工作负载上的吞吐量提高了约 10 倍。对于拥有 NVIDIA GPU 基础设施的团队来说,这绝非微不足道的改进。
Milvus 2.5 的全文搜索集成是近期版本中最重大的架构新增功能。在 2.5 之前,常见的生产模式是将 Milvus 与 Elasticsearch 一起运行——Milvus 用于语义搜索,Elasticsearch 用于关键字匹配——并在应用层合并结果。Milvus 2.5 用由 Tantivy 索引提供支持的内置 Sparse-BM25 取代了这种模式。Zilliz 在发布时公布的基准测试显示,在 100 万个向量上,Milvus 2.5 在 6 毫秒内返回结果,而 Elasticsearch 需要 200 毫秒,性能提升了 30 倍。升级后的团队从其基础设施中彻底消除了一整个集群。
Milvus 2.6 从另一个角度解决了基础设施依赖问题。新的 Woodpecker WAL 系统通过将日志数据直接持久化到对象存储(S3、GCS、MinIO),消除了对外部 Kafka 或 Pulsar 的需求。Woodpecker 在本地文件系统模式下实现了 450 MB/s 的吞吐量,比 Kafka 快 3.5 倍;在 S3 模式下实现了 750 MB/s,比 Kafka 快 5.8 倍。这种简化对于自托管团队来说最为重要,因为他们以前除了 etcd 和对象存储之外,还必须操作和监控 Kafka 集群。
"团队在性能、可靠性和成本都至关重要的苛刻环境中依赖 Milvus。随着采用率的增长,我们将继续密切倾听社区的声音,并将这种信任转化为一个可为企业生产进行扩展的平台。" - James Luan,Zilliz 工程副总裁,2025 年 12 月
Milvus 与 Qdrant 和 Pinecone 的定位对比
这三者涵盖了生产级向量数据库的主要决策空间,它们在机制上的差异对部署选择有着重要影响。
Qdrant 使用 Rust 编写,作为单一二进制文件发布,独立部署时零外部依赖。其核心 ANN 索引仅为 HNSW——单一算法,经过精心调优,并在其之上构建了丰富的元数据过滤功能。在 384 维 SQuAD 向量上的基准测试显示,Qdrant 的查询延迟为 94ms,而 Milvus 为 250ms(Qdrant 在单次查询延迟上获胜),但 Milvus 实现了约 46 QPS,而 Qdrant 为 4.7 QPS(Milvus 在吞吐量上以约 10 倍的优势获胜)。对于低于 1 亿个向量的工作负载,如果个位数毫秒级延迟比总吞吐量更重要,Qdrant 是更好的选择。当您的摄取量、查询并发性或总向量数需要水平扩展时,Milvus 则处于领先地位——Qdrant 的水平集群比 Milvus 简单,但并非为相同的数据量而设计。Qdrant 也没有 GPU 加速支持。Milvus 支持 NVIDIA CAGRA,在兼容硬件上可实现 10 倍的吞吐量提升。
Pinecone 是完全专有且闭源的,没有自托管选项。您只能通过其托管云服务使用它。Pinecone 完全抽象了索引层——您无法选择索引类型、调整 HNSW 参数或访问存储内部。对于没有基础设施管理要求的团队来说,这是一个优势:Pinecone 可以在一个下午内投入生产。但对于需要数据可移植性、审计访问或针对特定工作负载进行召回率-延迟调优的团队来说,这种抽象就成了天花板。在规模化时,定价差异显著:对于 1000 万个向量,Pinecone 的托管服务费用为 $700-1,200/month,而同等的 Milvus 自托管基础设施通常为 $500-2,000/month(取决于实例选择),两者的区别在于运营控制权与零运维便利性。2026 年的基准测试显示,在可比的查询工作负载下,Milvus 的 p95 延迟为 8ms,QPS 约为 4,200,而 Pinecone 的 p95 延迟为 12ms,QPS 约为 2,800,这使得 Milvus 在基础设施调优良好的情况下,在大规模应用中具有适度的性能优势。
"我们不仅仅是结合了两种搜索方法——我们正在用一种速度快 30 倍同时大幅简化基础设施的解决方案,彻底改变企业搜索。" - Charles Xie,Zilliz 创始人兼首席执行官,2024 年 12 月 17 日
部署的实际情况
Milvus 提供两种模式。单机模式(Standalone)在 Docker 上运行,适合开发和小规模工作负载。集群模式(Cluster)是云原生的 Kubernetes 架构,是推荐的生产路径。这两种模式之间的差距非常大。
一个生产级 Milvus 集群至少需要:一个 Kubernetes 集群、用于元数据存储的 etcd 以及对象存储(S3 或 MinIO)。在 Milvus 2.6 之前,您还需要 Kafka 或 Pulsar 用于预写日志——该依赖项现在已被 Woodpecker 取代,这是一个有意义的简化。Milvus Operator(由 Zilliz 维护的 Kubernetes operator)处理了大部分部署脚手架和生命周期管理。不使用 operator 直接使用 Helm 是可行的,但很脆弱:默认值尚未达到生产就绪状态,在实际工作负载到来之前调整资源限制、副本数量和存储类,需要具备 Kubernetes 和分布式数据库的丰富经验。
对于没有此类专业知识的团队,Zilliz Cloud 完全消除了运营负担。该托管服务提供相同的 Milvus API 接口,包括免费层(5 GB,2.5M vCUs/month)、每百万 vCUs $4 的无服务器(Serverless)层,以及起价为 $99/month 的专用集群。Zilliz Cloud 平台声称提供 99.95% 的正常运行时间 SLA,并在 AWS、Azure 和 GCP 上运行。根据 Zilliz 2025 年 6 月的发布公告,从 OpenSearch 迁移到 Zilliz Cloud 的组织报告称,在保持或提高搜索性能的同时,成本降低了高达 8 倍。对于希望获得 Milvus 功能而无需进行基础设施投资的团队来说,托管路径是现实的选择。
Milvus 专为谁而建
当您的向量搜索工作负载真正庞大时,Milvus 是自然的选择。构建需要在数亿个文档块中进行搜索的 RAG 系统的团队、索引数亿个产品或媒体项目的推荐引擎,或者大规模结合图像和文本嵌入的多模态搜索管道——这些都是 Milvus 专为之设计的场景。GPU 加速索引特别有利于在其推理堆栈中运行 NVIDIA 硬件且需要最高搜索吞吐量的团队。
拥有 Kubernetes 经验且更倾向于开源基础设施控制权而非托管便利性的数据工程团队,会发现 Milvus 的架构非常熟悉,其灵活性也极具价值。Apache 2.0 许可证和 LF AI & Data Foundation 的治理意味着在数据层没有供应商锁定:您的嵌入数据属于您自己,并且可以在不同部署之间移植。
不断发展的集成生态系统进一步强化了这一点:Milvus 原生支持 LangChain、LlamaIndex、Haystack 和 LangGraph,用于代理和 RAG 管道,并通过 Apache Spark 和 Kafka 连接器连接到数据平台,以实现高容量的摄取工作流。
Milvus 不是什么
对于需要在没有 Kubernetes 专业知识的情况下在一个下午内运行向量搜索的早期团队来说,Milvus 并不是正确的选择。Chroma(嵌入式 Python,零基础设施)或 Qdrant(单一二进制文件,简单的 REST API)能让您更快地获得工作原型。只有当规模、吞吐量或索引灵活性的需求证明其合理性时,Milvus 的架构开销才会成为一种优势。
它不是一个附加了向量功能的关系型数据库。主要运行结构化查询并将向量搜索作为辅助过滤器的团队可能会发现 pgvector(Postgres 扩展)更符合人体工程学——它将所有数据保存在一个系统中,避免了操作单独的数据库。当向量检索是主要操作,而不是 SQL 结果的辅助过滤器时,Milvus 才能大放异彩。
无意运行自己的基础设施且不需要开源可移植性保证的团队,应直接评估 Pinecone 或 Zilliz Cloud。如果您需要的唯一好处是一个具有简单身份验证和自动扩展功能的托管向量搜索端点,那么没有理由去承担 Milvus 的运营复杂性。
用户评价
暂无评价,快来分享你的第一条体验吧!
登录 后即可撰写评价。
收录于精选合集
包含 Milvus 的精选合集。
相关文章
与 Milvus 相关的指南和文章。

Mistral Medium 3.5 Self Host: 77.6% SWE-Bench on 4 GPUs (2026)

Grok 4.3 API for Agents (May 2026): Pricing, Benchmarks, Migration

Google Vision AI Explained (2026): Pricing Per 1,000 Units, Free Tier, and Alternatives

Vantaige Launches the LLM VRAM Calculator: A Free GPU Compatibility Finder for Open-source and Open-Weight AI

Nous Hermes 4: The Self-Hosted Open-Weight Agent Brain (2026)
