向量数据库2026硬核实测:100万向量横评,Qdrant凭什么跑出PgVector的4倍QPS,开发者到底怎么选

检索增强生成(RAG)已经是企业AI应用的标配架构。向量数据库作为RAG的检索引擎,直接决定响应速度、搜索精度和运维成本。2024年这个赛道还有20多个选手,到2026年格局已经清晰:Milvus、Qdrant、Weaviate、PgVector四强确立,Pinecone沦为纯SaaS、Chroma只够做原型。

这次实测用真实的100万条1536维向量(text-embedding-3-large生成),在AWS c6a.4xlarge(16 vCPU、32GB内存、500GB NVMe SSD)上跑完整基准。所有数据库用相同硬件和相同数据,只调各自推荐的默认配置。结果出乎很多人意料。

插入性能:Qdrant实时索引,PgVector最慢

100万条向量插入,Qdrant只用了95秒,插入QPS达到10,526,而且实时索引——数据写完立即可查。Weaviate用了140秒,QPS为7,143。Milvus是180秒,QPS为5,556,但索引构建要单独触发,额外120秒。PgVector最慢,320秒才插完,QPS只有3,125,而且CREATE INDEX是阻塞操作,插入期间查询全卡。

Qdrant的Rust实现没有GC暂停,内存映射(mmap)索引能利用操作系统页缓存,单节点场景下插入速度直接拉开差距。

查询性能:Qdrant碾压,PgVector延迟是它6倍

查询TopK=10、Recall@10≥95%的条件下,Qdrant跑到4,800 QPS,P50延迟0.5ms,P99延迟只有2.1ms,内存占用7.2GB。Milvus是3,200 QPS,P99为3.2ms。Weaviate是2,800 QPS,P99为4.5ms。PgVector只有1,200 QPS,P99延迟飙到12ms,是Qdrant的6倍。

12ms对用户来说仍然不可感知。后面会讲,这个差距在大多数RAG场景里并不致命。

过滤查询:PgVector的软肋暴露

RAG里经常要在特定分类下搜索相似向量。Milvus、Qdrant、Weaviate都支持预过滤——先过滤再搜索,结果准确。Qdrant的过滤QPS还能跑到4,200,Recall为96%。PgVector用的是后过滤——先搜索再过滤,过滤QPS只有800,Recall掉到93%,而且可能返回不足TopK条结果。

如果你的应用有大量元数据过滤需求,PgVector这条短板必须提前考虑。

运维成本:PgVector近乎免费,Milvus最重

月均成本按100万向量估算。PgVector如果你已经有PostgreSQL,增量成本接近零,最多加20GB存储,月均0到50美元。Qdrant自托管月均约150美元,云服务250美元。Weaviate自托管约160美元。Milvus自托管约180美元,云服务300美元,而且完整部署要etcd、MinIO、Kafka加多个组件,运维门槛最高。

PgVector部署最简单——一条`CREATE EXTENSION vector`搞定。Qdrant单容器`docker run`就能跑。Weaviate中等。Milvus最复杂,Kafka/MinIO/etcd四件套。

开发者怎么选:三条决策线

数据量50万以下且已有PostgreSQL,直接用PgVector。零运维零成本,RAG文档量在10万到100万之间完全够用。80%的RAG应用其实都属于这一档。

数据量50万到500万,看搜索需求。要混合搜索(向量加关键词),选Weaviate,它的BM25加向量融合是四款里最成熟的,配合重排序能提升15%到20%的检索准确率。追求极致查询性能,选Qdrant,Rust实现的尾延迟最低。需要GraphQL API,也是Weaviate。

数据量500万到1亿,运维能力强选Milvus,真分布式方案。运维弱选Qdrant,简单分片就够。超过1亿向量,Milvus是唯一经过超大规模验证的方案,存算分离架构在这个量级没有替代品。

数据主权敏感、必须私有化部署,Qdrant或Milvus二选一。Qdrant更轻量,Milvus更强大。无DevOps团队、纯云原生,选Pinecone或Qdrant Cloud,按量付费省心,但Pinecone数据必须在它云上,金融和政务场景受限。

别被基准数字骗了

Qdrant跑4,800 QPS、PgVector跑1,200 QPS,差距4倍。可是在RAG场景里,检索延迟2ms和12ms的差距,远小于大模型推理的1到3秒延迟。用户感知不到这10毫秒。

真正决定体验的是召回率、混合搜索能力和运维稳定性。选最简单的方案,直到它不够用为止。PgVector就是那个最简单的方案,对大多数团队来说,它够用的时间比你想象的长。

Milvus适合字节、阿里这类亿级数据大厂。Qdrant适合中型AI创业公司和对延迟敏感的实时推荐场景。Weaviate适合知识库问答这类对召回率极敏感的应用。Chroma只适合本地调试和教程示例,生产环境别碰。Pinecone适合预算充足、不想碰基础设施的团队,长期大规模使用的成本可能高于自托管。

一句结论

开发者选向量数据库,先问数据量,再问过滤需求,最后看运维能力。50万向量以下用PgVector,500万以下用Qdrant或Weaviate,1亿以上用Milvus。性能基准是参考,运维成本和搜索质量才是决策主线。你的RAG应用卡在哪一档,照着决策树选,基本不会翻车。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

苏ICP备2025163703号-2   警徽苏公网安备32010502011527号