Qdrant、Milvus、Weaviate、pgvector —— 这四款开源向量数据库在 2026 年同期保持着高度活跃的迭代,截至本文撰写时(2026-07-19),Qdrant 累计 33,396 ⭐、Milvus 45,272 ⭐、Weaviate 16,616 ⭐、pgvector 22,250 ⭐(均据 GitHub API 直连获取)。面对 RAG、Agent 记忆、多模态检索三类典型场景,开发者究竟应该如何取舍?
一、为什么 2026 年向量库选型变得更重要
2026 年的 LLM 应用栈里,向量库的角色从「可选项」变成了「必经之路」。三个推力同时起作用:
- RAG 工业化:企业 RAG 已从 Demo 阶段进入生产阶段,可观测性 / 权限隔离 / 混合检索是硬要求
- Agent 长期记忆:Agent 需要在多轮对话、跨会话甚至跨用户之间持久化记忆向量
- 多模态向量:图像 / 音视频 / 代码 embedding 让单库容量的天花板快速抬高
但「选 Qdrant 还是 Milvus 还是 Weaviate 还是 pgvector」这个问题,在 2026 年没有一个全局最优解——四款都在快速演进,定位的差异反而比两年前更明显。
二、四款定位的核心差异(架构视角)
| 维度 | Qdrant | Milvus | Weaviate | pgvector |
| ------ | -------- | -------- | ---------- | ---------- |
| 语言 | Rust | Go + C++ | Go | C(PG 扩展) |
| 部署形态 | 独立服务 / Cloud | 独立 / 集群 | 独立 / Cloud | Postgres 内置 |
| 主索引算法 | HNSW | HNSW + IVF + DiskANN | HNSW + 倒排 | HNSW + IVF |
| 强项 | 过滤性能 + 资源效率 | 大规模 + 分布式 | 模块化 + 多模态 | 与业务数据共库 |
| 弱项 | 集群化能力仍在演进 | 运维复杂度高 | 资源占用偏重 | 单机容量受限 |
关键判断(按需取用):
- 追求极简部署 + 单机能跑到千万级向量 → Qdrant(Rust 单二进制 + HNSW + 强过滤)
- 数据规模超过亿级且需要水平扩展 → Milvus(生产级分片架构,etcd + MinIO + Pulsar 三件套可独立扩缩)
- 需要 GraphQL / 模块化模块 / 多模态检索 → Weaviate(向量化模块多、可插拔)
- 已有 Postgres 业务 + 数据量 < 500 万向量 + 需要事务一致性 → pgvector(零运维成本)

三、技术解析:四款分别在打磨什么
Qdrant:把「过滤 + 向量」做到极致
Qdrant 的核心差异点是 Payload 过滤:传统向量库只做向量召回,但 Qdrant 把结构化字段(JSON payload)做成了可索引、可过滤的一等公民。它在每次召回时都执行「向量相似度 + payload WHERE 条件」的复合查询,性能比传统「先 SQL 过滤再向量召回」更稳定。
实操里看到的几个特性:
- UUID / 整数 / 字符串 / 地理位置都可作为 payload 索引
- 同一个 collection 内可同时支持「最近邻」和「按地理半径召回」
- 在 1 亿向量级别下,过滤 + ANN 查询 p99 < 30ms(据 Qdrant 官方 benchmark 页)
Milvus:从「向量库」升级为「向量基础设施」
Milvus 1.x 是单机版,2.x 重写成云原生分片架构,2026 年的版本已经在打磨 DiskANN 冷数据降本:热数据在内存里按 HNSW 检索,冷数据自动落盘走 DiskANN。这让它能在保持召回质量的前提下把存储成本压到接近 1/10。
Milvus 是四款里运维复杂度最高的——生产部署通常需要 etcd + MinIO + Pulsar 三件套。但换来的是亿级向量 + 多副本高可用 + 跨可用区分片。
Weaviate:模块化 + 多模态
Weaviate 的差异点是 vectorizer 模块化:你可以在写入时自动调用 OpenAI / Cohere / HuggingFace / 自部署模型的 vectorization,不用应用层先算 embedding 再入库。配合 GraphQL 查询,写法相对其他三款更声明式。
2026 年的迭代重点是 RAC(Replicated And Consistent)多副本协议,以及跟 LangChain / LlamaIndex 的深度集成(不绑死 SDK,但确保开箱即用)。
pgvector:让 Postgres 同时是你的向量库
pgvector 的卖点不是性能极限,而是架构简洁:你不用引入新组件、不用做数据同步、不用管事务隔离级别,业务向量直接和订单/用户表存在一起。代价是单机容量有上限(500 万 - 1500 万向量级别,HNSW 全内存);超过这个规模,HNSW 的 build time 与查询延迟会快速恶化。
实操里,pgvector 配合 pgvectorscale(Timescale 维护的扩展)能再多撑一倍,再大就要权衡是否引入独立向量库。

四、关键点(按重要性排序)
- 没有「最好」,只有「最匹配」:数据规模、运维能力、与业务库关系决定一切
- 生产规模 > 亿级 → Milvus 是事实标准,但要准备好运维成本
- RAG + 中等规模 + 强过滤 → Qdrant 是 2026 年的甜点选择,Rust + 单体 + 强过滤三者齐备
- 已有 Postgres + 数据量适中 → pgvector 永远是最经济的起点,不需要引入新组件
- Weaviate 适合 GraphQL 团队 / 多模态重场景,但资源占用最重
五、行业影响与展望
观察 2025-2026 年的方向,有三条趋势值得聚焦:
混合检索成标配:BM25 + 向量 + 结构化过滤的组合被 Qdrant / Milvus 2.x / Weaviate 同时纳入核心 API,纯向量库的概念正在淡化
DiskANN / 冷热分层让单机向量库的容量天花板从 1 亿级向 10 亿级推进,Milvus 与 Weaviate 是走在最前面的两款
pgvector 在 PostgreSQL 生态里继续吞噬简易场景——对很多中小团队来说,引入专用向量库的 ROI 越来越低
对架构师的建议:如果你 2026 年正在选型,先按「亿级 vs 千万级 vs 百万级」+「是否有现成 Postgres」两个维度拍板,再纠结细节;过早优化在向量库选择上是常见的时间黑洞。
六、结语
向量库选型的「正确姿势」是先承认四款都活到 2026 年不是偶然——它们各自占据不同的生态位,对应不同的工程取舍。希望这篇横评能帮你把抽象的「Qdrant vs Milvus vs Weaviate vs pgvector」问题,转换成具体的「我的数据量 / 运维能力 / 业务集成需求是哪个组合」问题。
社区里对这个问题也有持续讨论:HN 上有专门的 Ask HN 帖「Which Vector Database do you recommend for LLM applications?」长期保持热度,每周都有新观点补充。读者如果对某个特定场景(比如要求强一致性 / 多租户隔离 / 离线推理)有更细的问题,欢迎在评论区提出。
参考资料
官方文档
- Qdrant Documentation [200] - 含 Payload Filtering / HNSW 配置 / 部署模式
- Qdrant Benchmarks Page [200] - 1 亿级 HNSW p99 实测
- Weaviate Vector Index Concepts [200] - 模块化 + 索引选择
- pgvector README API [200] - Postgres 扩展说明
开源项目
- qdrant/qdrant GitHub Metadata [200] - 33,396 ⭐,最后 push 2026-07-19
- milvus-io/milvus GitHub Metadata [200] - 45,272 ⭐,最后 push 2026-07-19
- weaviate/weaviate GitHub Metadata [200] - 16,616 ⭐,最后 push 2026-07-19
- pgvector/pgvector GitHub Metadata [200] - 22,250 ⭐,最后 push 2026-07-11
- facebookresearch/faiss [200] - C++ 经典向量检索库
- spotify/annoy [200] - Spotify 开源近似最近邻库
对比基准
- ANN Benchmarks (erikbern/ann-benchmarks GitHub Metadata) [200] - 主流向量库的标准化 recall/latency 基准
- HNSW 原始论文 arXiv 1603.09320 [200] - Hierarchical Navigable Small World graph, Malkov & Yashunin, 2016
社区讨论
- HN: Ask HN - Which Vector Database do you recommend for LLM applications? [200] - 5+pts 持续讨论
- HN: Show HN - VectorDBZ, a desktop GUI for vector databases [200] - 13pts
- HN: pgvector + Postgres 讨论聚合 [200] - 生产实践视角
**本文由 AI 生成**。内容基于公开资料整理,可能存在事实偏差,引用链接请以原始来源为准。
