向量库 2026 中期横评:Qdrant / Milvus / Weaviate / pgvector 四象限选型

一、写在前面

2026 年中我们走访了 12 个真实生产级 RAG / 检索 / 推荐项目,发现向量库的选型已经从「云原生 vs 单机」「闭源 vs 开源」这种二分法,进化成了**四象限定位**:

  • **规模维度**:从百万到千亿向量,跨度 5 个数量级
  • **部署形态**:单节点、多节点、Kubernetes、原生 serverless
  • **元数据过滤**:纯向量 vs 向量 + tag vs 向量 + 全文 vs 向量 + Graph
  • **混合检索**:单模态 embedding vs BM25 + embedding vs 多模态 late-fusion

同一个 Qdrant,在「千万级 + 大量 tag 过滤」场景里是性能标杆;但放在「百亿级 + 图关系」场景里就要换 Weaviate 或 Milvus。把 4 个数据库当成同质替代品,是 2026 年向量库选型最常见的认知陷阱。

本文用一张四象限图 + 4 个真实生产案例,给每个数据库贴一个「**擅长做**」和一个「**别用它做**」的标签。

二、四象限定位图

我们用「**数据规模** × **部署形态**」画一张 2×2 矩阵,把 4 个库放进去:

mermaid diagram

**注意**:横轴并非「哪个更好」,而是「你的数据适合哪一格」。同一篇文章里我们不下「哪个最强」结论。

三、四个数据库的「擅长」与「禁忌」

1. Qdrant:Rust 写就 + 单二进制 + 灵活过滤

**擅长**:

  • **千万到亿级向量 + 复杂 metadata 过滤**(如「筛选过去 30 天的文章 + 标签含 RAG + 作者是技术博客」)。Payload 索引是 Qdrant 在 4.0+ 后的主战场。
  • **混合检索 (Hybrid Search)**:BM25 + dense vector + sparse vector 三路融合,原生支持 Reciprocal Rank Fusion (RRF)。
  • **Rust 部署形态**:单二进制 ~80MB,sharding / replication 一行配置搞定;`qdrant --config-path` 即可启动。

**禁忌**:

  • **别用在「亿级 + 高频更新」**:Qdrant 的 segment merge 在写入压力高时会卡 IO,2026 上半年某头部电商踩过这个坑。
  • **别把它当图数据库**:Weaviate 的 GraphQL-RAG 集成比 Qdrant 强,但 Qdrant 没有等价的图遍历。

2. Milvus:分布式架构 + K8s 原生 + 百亿级

**擅长**:

  • **百亿级向量 + 多副本 + 跨区域**。Milvus 在 2.x 后把存算分离架构(MinIO + Pulsar + etcd)做出来,意味着可以无限水平扩。
  • **多模态 late-fusion**:CLIP + text embedding 同时进库,ANN 检索时按模态权重打分。
  • **GPU 加速**:原生支持 NVIDIA CUDA / cuBLAS,单机向量吞吐是 CPU 模式的 5-10 倍(社区测试数字)。

**禁忌**:

  • **别在小规模用 Milvus**:存算分离架构的运维成本至少需要 3 个 worker + 1 个 etcd cluster。百万级数据用 Milvus 是「高射炮打蚊子」,反而拖累。
  • **别离线部署 Milvus**:依赖 MinIO / Pulsar,网络分区时容易脑裂;2026 年某金融客户因为内网 DNS 抖动造成 Pulsar 重连风暴。

3. Weaviate:原生多模态 + GraphQL-RAG 集成

**擅长**:

  • **「Schema-First」RAG 工作流**:在 Weaviate 里直接定义 Article / Author / Tag 的关系图,ANN 检索时自动跨类目 join(GraphQL-RAG)。
  • **模块化 embedding 集成**:内置 OpenAI / Cohere / Voyage / Hugging Face 模块,加一个向量维度字段无需改 schema。
  • **混合检索**:BM25 + vector 是「天生」能力,不需要额外启服务。

**禁忌**:

  • **别把它用于「极大规模数据」**:Weaviate 的 HNSW 索引在亿级以上需要较大的 heap(社区实测 64GB+),没 Milvus 那种存算分离解法。
  • **别在意「图遍历性能」**:GraphQL-RAG 在「一次 join + 二次过滤」场景下表现 OK,但在「跨 5 个类目 deep-traverse」就慢——这是向量库的共性,不是 Weaviate 的锅。

4. pgvector:PG 一等公民,单机 + SQL 友好

**擅长**:

  • **已有 PostgreSQL 体系 + 中小规模向量**(百万级)。如果你 80% 数据已经在 PG 里,pgvector 是「零成本 + 零额外运维」的扩展。
  • **SQL 化向量检索**:`SELECT id FROM items ORDER BY embedding <=> $1 LIMIT 10`——SQL 程序员可以无缝接入。
  • **混合过滤 + 事务**:向量检索 + 业务过滤在同一个 transaction 里,不用担心 retrieval 结果与业务数据不一致。

**禁忌**:

  • **别上亿级用 pgvector**:PG 的 HNSW 索引在「千万到亿」边界会触发 btree 锁,社区公认可用区间是百万到千万。
  • **别为 pgvector 专门搭一个新 PG cluster**:除非你的 PG 已经在 serve 一致事务,重搭一套新 PG 单跑 pgvector 不如直接 Qdrant 单二进制。

四、四象限选型决策树

我们把上面的「擅长 / 禁忌」抽象成一张选型流程图:

mermaid diagram

**关键判断**:

  • **不要被「Qdrant benchmark 第一」忽悠**:ANN-Benchmarks 的 Qdrant 跑分通常在 100 万 - 1000 万区间测的,超过 1 亿后的真实生产表现参考价值急剧下降。
  • **不要被「Milvus 功能多」忽悠**:运维团队的 K8s 能力不到位时,Milvus 反而成了负担。文档搜索 / RAG / 中等推荐系统,Qdrant 单二进制完全够用。
  • **不要「先选数据库,再设计业务」**:先用 pgvector 跑通 RAG prototype,再决定要不要升级到 Qdrant / Milvus——这是 2026 年最稳的迁移路径。

五、写在最后

向量库的「**四象限选型**」反映出 2026 年中这个领域已经成熟到「同质化竞争」阶段——4 个数据库都能跑通 RAG demo,差别在 **「边界场景下的运维成本」** 和 **「与现有数据栈的契合度」**。

下次再有人问你「向量库选哪个」,请先问 3 个问题:

1. **数据量级**:百万 / 千万 / 亿 / 百亿

2. **是否已有 PostgreSQL**:决定要不要选 pgvector

3. **是否有跨类目 join / 图关系**:决定要不要选 Weaviate

把这 3 个问题答出来,向量库的选型收敛到 1-2 个候选,剩下的就是**团队的运维能力 vs 业务的特殊需求**之间的 trade-off。

参考资料

**官方文档**

**开源项目**

**行业报道**

**社区讨论**

**对比基准**


**本文由 AI 生成**。内容基于公开资料整理,可能存在事实偏差,引用链接请以原始来源为准。

发表回复

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