2026 向量库四强:Qdrant、Milvus、pgvector、Pinecone 基准与 TCO

图:高吞吐向量库蓝图——本篇架构图解(图源:原文)
这篇是企业买家视角的四强横评:Qdrant、Milvus、pgvector、Pinecone,目标负载设定为 1,000 万向量 × 1,536 维(OpenAI ada-002)、持续 100-300 QPS、p99 低于 100ms、Recall@10 ≥ 0.95。先说明信源结构:实测数据来自 Qdrant 开源跑具(同硬件同跑具)、VectorDBBench(Zilliz 开源工具)与 ANN-Benchmarks;价格均为 2026 年 9 月 16 日整理的各官网列表价。作者标注了实测与外推的分界——下面会照抄这个诚实。
实测:同硬件同跑具
Azure 8 vCPU / 32GiB,Docker,25GB 内存上限,官方 Python SDK。1M × 1536 维实测(最接近目标维度):
| 引擎 | 配置 | Recall | QPS(100线程) | p99 | 建索引+灌数 |
|---|---|---|---|---|---|
| Qdrant | HNSW m16 ef128 | 0.9666 | 1,261 | 8.1 ms | ~666 s |
| Weaviate | HNSW m32 ef128 | 0.9950 | 845.5 | 201.1 ms | 994 s |
| Redis | HNSW m32 ef512 | 0.9916 | 337 | 356.1 ms | — |
| Milvus | HNSW m16 ef128 | 0.9973 | 219 | 576.7 ms | 70 s |
注意两点,作者自己标了:Milvus 在跑具里只有单一配置、没像 Qdrant 那样调优;但建索引最快这一条是真的——1M 向量 70 秒,比 Qdrant 快一个数量级。
最大的隐藏变量:写入压力
这是全文最实用的一张表(VectorDBBench,Cohere 1M×768,固定每月 1,000 美元预算档,无写入 vs 500 行/秒持续灌数):
| 系统 | 静态 QPS | 灌数压力下 QPS | 衰减 |
|---|---|---|---|
| Qdrant Cloud | 447 | 394 | 1.1× |
| Pinecone | 1,131 | 367 | 3.1× |
| Zilliz Cloud | 7,385 | 2,119 | 3.5× |
| Milvus | 2,747 | 306 | 9.0× |
作者的原话值得裱起来:任何以”千万级 QPS”为标题的基准测试,都必须说明跑测试时有没有在灌数——这是当前最大的隐藏变量。
目标场景:10M × 1536 外推
以下数字作者明确标注为”外推估算”(基准是 1M×1536 实测、10M×96 实测下限与 VectorDBBench 流式跑分):
| 引擎 | 持续 QPS(100 并发) | p99 ANN | p99 混合检索 | 备注 |
|---|---|---|---|---|
| Qdrant | ~150-300 | ~15-40 ms | ~30-80 ms | 原生过滤+原生 RRF |
| Milvus | ~60-150 | ~40-120 ms | ~80-250 ms | DiskANN 可降内存 |
| pgvector | ~30-100 | ~40-150 ms | ~100-500 ms | 后过滤语义,过滤查询有延迟尖峰 |
| Pinecone | 不受算力约束 | ~20-80 ms | ~40-120 ms | 按扫描量计 RU |
内存口径:10M×1536 的裸向量 61.4GB;全内存 HNSW 建议按 ≥100GB RAM 起步,用 SQ/BQ 量化可压到 16-64GB。

图:云上 GPU/实例 TCO 基准——本篇成本测算的算力口径(图源:原文)
TCO:谁的钱花在哪(2026-09 列表价)
| 引擎 | 托管 SaaS(月) | 自托管 AWS(单节点/HA) | 自托管 GCP | 计费要点 |
|---|---|---|---|---|
| Qdrant | ~$250-450 | $388 / $777 | $473 / $947 | 按资源计费,基准里内存占用最低=基础设施最便宜 |
| Milvus/Zilliz | ~$600 | $756 / $1,900 | $790 / $1,169 | 存储 $0.025/GB/月 全场最低,但多组件部署贵 |
| pgvector/RDS | ~$850-900 | $777 / $1,554 | $503 / $1,006 | 零新增许可,复用现有 Postgres 运维 |
| Pinecone | $1,274(1M 查询)/ $12,290(10M 查询) | 无自托管 | 无自托管 | 1 RU≈1GB 扫描/查询:10M×1536 单次查询扫 ~72GB |
Pinecone 那行是整个 TCO 章节的爆点:无服务器模式月费随查询量线性走,10M 查询/月约 1.23 万美元,比专用算力方案贵一个数量级——它的解法是专用读节点(DRN),而 Qdrant/Zilliz/自托管都是固定算力计费。
混合检索与决策矩阵
四强里原生混合检索(稠密+稀疏 BM25、内置 RRF)的有三家,pgvector 要在应用层手搓 RRF:
| 能力 | Qdrant | Milvus | pgvector | Pinecone |
|---|---|---|---|---|
| 单集合稠密+稀疏 | ✅ 原生 | ✅ 原生 | ❌ 应用级 | ✅ 原生 |
| 内置 RRF 融合 | ✅ | ✅ | ❌ | ✅ |
| 过滤+混合联合 | ✅ 原生 filterable HNSW | ✅ 表达式过滤 | ✅ WHERE | ✅ 元数据过滤 |
| 一致性 | 强一致(Raft) | 可调四档 | ACID(真·数据库) | 最终一致 |
| 部署复杂度 | 轻(Docker/Helm) | 最高(k8s 多组件) | 最简(PG 扩展) | 零运维 |
作者的决策树浓缩版:已经在跑 PostgreSQL → pgvector 够用(QPS 需求 <100 时);要 ACID 事务盖在向量上 → pgvector;性能优先且在意成本 → Qdrant;要最全索引家族(DiskANN/GPU-CAGRA)→ Milvus;要零运维且能接受按扫描付费 → Pinecone。迁移路径基本都有成熟方案(pgvector↔Qdrant 中等复杂度、双写切读是标准动作)。

图:原文站内的自建 LLM 网关架构图——混合检索之上就是这一层应用编排(图源:原文)
小夏点评
- 1. 全文最可操作的一条是”跑基准时有没有并发写入”:同一套硬件上 Milvus 静态 2,747 QPS、灌数压力下只剩 306。以后看任何向量库榜单,先找”ingestion 是否运行”这一行,找不到就当广告。
- 2. 无服务器计费在大索引上会翻脸:Pinecone 模式按”扫描量×查询数”收费,10M×1536 单次查询扫约 72GB≈72 RU,月千万查询就是五位数美元。做 RAG 预算请按”查询量 × 索引大小”两个轴算,只看每 GB 存储单价会被吓到。
- 3. 对国内 IT 运维/开发者的启示:国内 RAG 项目大量跑在 pgvector 和 Qdrant 上,这篇结论可直接搬——已有 Postgres 底子、QPS 三位数以内,pgvector 就是最优解(零新增基础设施、真 ACID);QPS 上千再迁 Qdrant(TCO 最低、原生混合检索)。另外国内向量云服务多数也是 serverless 计费,逻辑与 Pinecone 同构:小数据量时”免费/低价档”很甜,数据量上去后按扫描计费的账单会比自建贵出数倍——选云前先按一年后数据量重算一遍。
参考链接
- – 原文(devrudals,v1.0,2026-09-16 更新):https://devrudals.github.io/posts/vector-db-2026-enterprise-guide
- – 实测数据源:Qdrant 开源跑具 https://github.com/qdrant/vector-db-benchmark ;VectorDBBench(Zilliz 开源)https://github.com/zilliztech/VectorDBBench ;ANN-Benchmarks https://ann-benchmarks.com
- – 价格口径:各厂商 2026 年 9 月列表价(Pinecone/Qdrant Cloud/Zilliz/AWS EC2/RDS/GCP Compute)
