硬核横评
硬核横评

AI 向量数据库横评:Milvus / Qdrant / Weaviate / Chroma / pgvector 怎么选

用真实 GitHub 数据横评 Milvus、Qdrant、Weaviate、Chroma、pgvector 五款向量数据库,按场景给选型结论,附决策树和避坑指南。

发布于 2026年7月29日9 分钟阅读
<!-- ai-vector-database-comparison-review | review | AI 向量数据库横评:Milvus / Qdrant / Weaviate / Chroma / pgvector 怎么选 -->

每次有人问我"做 RAG 到底用哪个向量库",我都想先反问一句:你手上有多少数据,有多少人维护,预算是零还是无穷?这几个问题答完,选型基本就定了。可现实是大多数人直接打开 GitHub,按 star 数从上往下抄,结果上了线才发现踩了一脚泥。这篇文章不灌鸡汤,直接把 Milvus、Qdrant、Weaviate、Chroma、pgvector 五个常被点到名字的家伙摆在一张桌上,用真实数据横评,再按场景给结论。

先说清楚两个前提:第一,star 数截至 2026-07-29,实时变动,别当圣经;第二,下面涉及性能的对比是代表性对比,非亲自压测,我引用的是各项目官方描述和社区共识,不是我在同一台机器上跑出来的压测数字。你要做选型决策,拿这个当起点,别当终点。

一、为什么向量数据库突然成了"刚需"

这事得从 RAG 说起。大模型记不住你的私有文档,也不会实时联网,唯一靠谱的办法是把文档切块、转成向量、塞进一个能做相似度检索的库里,检索出来拼进 prompt 再喂给模型。这个库就是向量数据库。

但你很快会发现,传统的 ES 或者 Postgres 全文检索干不了这活——它们不擅长在高维空间里做近似最近邻(ANN)搜索。于是专门为向量检索设计的数据库冒出来了,Milvus、Qdrant、Weaviate、Chroma 都是这条路。pgvector 则走了另一条:不另起炉灶,给 Postgres 加个扩展,让它也能干向量检索的活。

选型的核心矛盾,其实不是"哪个最强",而是"你要不要为向量检索单独养一个服务"。这一刀切下去,五个选项自然分成了两派。

二、五款横评:数据说话

先把硬数据摆出来。star 数截至 2026-07-29,实时变动;活跃度以近期 push 情况判断,五个项目目前都在活跃维护。

项目Star语言许可证部署形态规模定位官方特色描述
Milvus45,408GoApache-2.0独立服务(云原生)超大规模生产高性能云原生向量库,面向可扩展向量 ANN 检索
Qdrant33,640RustApache-2.0独立服务中大规模高性能大规模向量库与向量搜索引擎
Weaviate16,656GoBSD-3-Clause独立服务中规模同时存对象与向量,向量检索 + 结构化过滤
Chroma28,900RustApache-2.0嵌入式 / 独立轻量起步AI 搜索基础设施,轻量易上手
pgvector22,385CNOASSERTIONPostgres 扩展中小规模Postgres 的开源向量相似度搜索扩展

这张表里有几个点值得多看一眼。

star 排序不等于能力排序。Milvus 4.5 万星遥遥领先,但它的定位本来就是冲着超大规模去的,star 多有一部分是先发优势加中文社区基本盘。Chroma 2.8 万星压过 Weaviate,很大程度上是因为它吃到了 AI 应用爆发第一波的红利——开发者刚开始折腾 LangChain 的时候,Chroma 是默认教程里的那个库,门槛低到 pip install 就能跑。

语言上,Qdrant 和 Chroma 都选了 Rust,这不是巧合。向量检索是计算密集型的活,Rust 在零成本抽象和内存安全上的优势,在这种场景下能直接转化为吞吐和延迟的收益。Milvus 和 Weaviate 选了 Go,更偏工程化和云原生生态。pgvector 用 C 写,因为它要作为扩展跑在 Postgres 进程里,必须贴近内核。

许可证那一栏,四个都是 Apache-2.0 或 BSD-3-Clause,这类是商业友好的宽松许可。但 pgvector 标的是 NOASSERTION——GitHub 没能自动识别出一个明确的开源许可证。我查了项目仓库根目录的 LICENSE 文件,实际上它用的是 PostgreSQL License(类似 BSD),但 GitHub 没标成标准 SPDX。这里要划重点:如果你公司法务卡得严,NOASSERTION 这个标签就够你走一轮合规流程。别等到上线前才被发现。

三、逐个拆解:谁适合什么活儿

数据是骨架,场景才是血肉。下面按"你是谁、你要干嘛"来对号入座,这是我在做选型时真正会问的问题。

超大规模生产选 Milvus

Milvus 的官方定位是"高性能云原生向量库,面向可扩展向量 ANN 检索"。翻译成人话:它是为亿级以上向量、需要水平扩展、要跑在生产环境里的场景设计的。它支持多种索引类型,有存算分离架构,能挂 S3 当存储后端。

代价是什么?运维成本。Milvus 不是 pip install 就能跑的东西,它的完整部署涉及 etcd、MinIO、Pulsar 等一堆依赖组件,即便用 Docker Compose 也是十几个容器起步。小团队上 Milvus,运维开销可能比业务开发还重。所以选它之前先问自己:你的向量量级真到千万、亿级别了吗?没到,就是杀鸡用牛刀。

Rust 性能选 Qdrant

Qdrant 官方描述是"高性能大规模向量库与向量搜索引擎"。它用 Rust 写,单机吞吐和内存占用表现好,API 设计干净,还自带一个很好用的过滤功能。3.3 万星、活跃维护,是目前独立向量服务里 Milvus 之外最常被提到的替代。

Qdrant 的甜区是中大规模、追求单机性能、不想被 Milvus 的组件 zoo 拖垮的团队。部署一个二进制就能跑,比 Milvus 轻得多;但因为没有 pgvector 那种寄生在现有 Postgres 上的便利,它依然是一个需要单独运维的服务。如果你的运维人力只够养一个数据库,Qdrant 是独立向量库里性价比比较高的那个。

混合检索选 Weaviate

Weaviate 的官方特色是"同时存对象与向量,向量检索 + 结构化过滤"。这一句就把它的差异点说清楚了:它不只是存向量,还存对象本身,这意味着你可以在做向量相似度搜索的同时,叠加结构化过滤——比如"找和这段话最相似的文档,但只要 2025 年之后发布的、标签是技术的"。

这种混合检索在 RAG 场景里非常实用,因为纯向量检索经常召回一堆语义相近但完全跑题的结果,加一层元数据过滤能大幅提升召回质量。Weaviate 1.6 万星,比前两位低,但它的定位本来就是功能全、一体化,不是拼极致规模。如果你的 RAG 管线对召回质量敏感、又不想自己在应用层拼一套过滤逻辑,Weaviate 值得优先看。

轻量起步选 Chroma

Chroma 的官方描述精髓就四个字:轻量易上手。它定位是 AI 搜索基础设施,但真正的杀手锏是开发体验——pip install chromadb,几行代码就能在本地跑起来,不需要起服务、不需要配依赖。2.8 万星里有相当一部分是被 LangChain 教程安利进来的开发者。

Chroma 适合什么阶段?原型验证、demo、个人项目、刚起步的 RAG 实验。它的嵌入式模式可以和数据放在同一个进程里,连服务都不用起。但它的生产成熟度和大规模能力,和 Milvus、Qdrant 不是一个量级。我的建议是:用 Chroma 把想法跑通,一旦进入要上生产、数据量上百万的阶段,认真考虑迁移。

已在用 Postgres 选 pgvector

pgvector 是唯一一个寄生型选手——它不是独立数据库,是 Postgres 的一个扩展。官方描述:Postgres 的开源向量相似度搜索扩展。你不用引入新组件、不用养新服务,CREATE EXTENSION vector 就能让你的 Postgres 干向量检索的活。

这个路线的诱惑力显而易见:如果你已经在用 Postgres 存业务数据,加一个扩展就能让同一套库同时干关系型查询和向量检索,运维成本几乎为零。2.2 万星说明这个思路戳中了很多团队。但 pgvector 也有明显的天花板——它的 ANN 索引在千万级以上向量时,吞吐和召回速度会明显落后于专门的向量库。所以 pgvector 的甜区是中小规模、已重度依赖 Postgres、不想引入新基础设施。规模一旦上去,它就不是最优解了。

四、选型决策树:三分钟定下来

讲了这么多,给你一个能照着走的决策树。按顺序问自己:

  1. 你已经在用 Postgres 吗? 是,优先 pgvector,向量量级在百万以内基本够用。否,进入下一问。
  2. 你的向量量级在千万、亿级别吗? 是,Milvus,这是它的主场。否,下一问。
  3. 你重视单机性能和 Rust 技术栈吗? 是,Qdrant。否,下一问。
  4. 你需要向量加结构化数据的混合检索,且想一体化存储? 是,Weaviate。否,下一问。
  5. 你是在做原型验证、个人项目、或者刚起步? 是,Chroma,先把流程跑通。

这不是一套能覆盖所有边缘情况的完美决策树,但它能帮你排除掉 80% 的错误选项。剩下 20% 的纠结,通常是因为需求本身没想清楚——比如既想轻量又想扛亿级,这种既要又要的,最后往往什么都做不好。

五、避坑指南:运维、许可证、托管

横评做完,三个坑必须单独拎出来说,都是上线前最容易翻车的地方。

第一,运维成本。 这五个里,Milvus 的运维最重,完整部署要 etcd 加 MinIO 加 Pulsar 一整套,建议直接上官方托管 ZillizCloud 或者 K8s operator,别手动维护。Qdrant 和 Weaviate 居中,单二进制或单容器能跑,但生产环境还是要配监控和备份。Chroma 最轻,嵌入式模式零运维,但生产部署要切 client-server 模式。pgvector 的运维成本就是你 Postgres 的运维成本——已经在养的那个库,加个扩展几乎不增加负担。

第二,许可证的 NOASSERTION。 前面提过,pgvector 在 GitHub 上的许可证标签是 NOASSERTION,虽然实际仓库里用的是 PostgreSQL License。如果你公司有严格的合规流程,这个标签会被法务系统标记。四个 Apache 和 BSD 项目的许可证都是商业友好的,可以放心用在商业产品里。pgvector 不是不能用,是要多走一步确认。

第三,托管 vs 自托管。 这是比选哪个更上游的决策。如果你的核心业务不是搞数据库,托管能省下的运维人力远超那点订阅费。Milvus 有 ZillizCloud,Qdrant 有 Qdrant Cloud,Weaviate 有 Weaviate Cloud,pgvector 在几乎所有托管 Postgres(Supabase、Neon、RDS)上都预装好了。Chroma 的托管选项相对少,这也是它更适合早期阶段的原因之一。一个简单的判断标准:如果你的向量库挂了会导致业务中断,而你又没有专职 DBA,托管是更稳的选择。

六、我的建议

最后给你一句大实话:这五个里没有最好,只有最合适。Milvus 不是因为有 4.5 万星就适合你,pgvector 也不会因为 star 少就低人一等。选型的关键,永远是先把自己的规模、运维能力、技术栈、预算这四件事想清楚,再回来对号入座。

如果你问我一个最稳的起手式:先用 Chroma 把 RAG 管线跑通,验证业务逻辑;数据量起来后,如果已经在用 Postgres,迁 pgvector;如果要独立服务,选 Qdrant;如果真冲着亿级去了,再上 Milvus。这条路径不是最快的,但它能让你在每个阶段都不为基础设施分心,把精力留在真正产生差异的业务逻辑上。向量库是 RAG 的地基,但地基再好,上面盖的是个茅草棚还是摩天大楼,取决于你用它做什么,而不是它本身有多强。


参考来源

本文由 AI 辅助生成,经人工审核编辑。最后更新:2026-07-29

常见问题

向量数据库和传统数据库有什么区别?
核心区别是检索方式。传统数据库靠精确匹配(SQL WHERE),向量数据库靠相似度检索(余弦距离、内积等),在高维空间找"最接近"的结果。RAG 场景下两者经常配合使用。
我刚开始做 RAG,应该选哪个?
先用 Chroma 跑通流程。它 pip install 就能用,零运维,适合验证业务逻辑。等数据量上来再考虑迁移。
pgvector 能完全替代专用向量数据库吗?
在中小规模(百万级以内向量)基本可以,而且省运维。但千万级以上,专用向量库(Milvus、Qdrant)的 ANN 索引性能优势会明显拉开。
Milvus 运维成本到底有多高?
完整部署涉及 etcd、MinIO、Pulsar 等多个组件,Docker Compose 起步就是十几个容器。小团队建议用官方托管 ZillizCloud 或 K8s operator,别手动维护。
这些向量数据库的许可证都能商用吗?
Milvus、Qdrant、Chroma 是 Apache-2.0,Weaviate 是 BSD-3-Clause,都商业友好。pgvector 在 GitHub 上标为 NOASSERTION,实际用 PostgreSQL License(BSD-like),但法务严格的公司可能需要额外确认。

相关文章

硬核横评

AI 知识管理工具横评:Notion AI、Obsidian、Heptabase、Mem、Capacities、飞书知识库怎么选

2026 年六款主流 AI 知识管理工具代表性对比(非亲自压测,价格以官网为准):Notion AI(all-in-one 工作区,团队协作强,AI add-on $10/人/月)、Obsidian(本地优先 Markdown,数据掌控最强,个人免费)、Heptabase(白板卡片可视化,深度思考)、Mem(AI 自动归类,懒整理党)、Capacities(对象化笔记,结构化新范式)、飞书知识库(国内企业协作)。含两张对比表、逐个拆解、按人群选型、三个避坑与五条 FAQ。

2026年8月7日8 分钟阅读
硬核横评

4 款 AI coding skill 框架横评:ponytail、impeccable、mattpocock、superpowers 怎么选

横评 4 款 AI coding skill 框架:ponytail(★97k,lazy senior dev,~54% less code)、impeccable(★56k,23 commands+59 rules 前端设计指导)、mattpocock/skills(★206k,Real Engineers 不夺权)、superpowers(★267k,subagent+TDD 方法论,11 agents)。2 对比表+逐个拆+选型+避坑+5 FAQ。代表性对比非亲自压测,star 据 GitHub API 2026-08-06,ponytail 减码数据标 README 自报。

2026年8月6日9 分钟阅读