RAG 系统的核心基础设施——向量数据库。三大主流方案怎么选?从性能到运维全方位对比。

一、向量数据库的核心能力

  • 1.1 向量存储——高维向量的持久化
  • 1.2 ANN 检索——近似最近邻搜索
  • 1.3 过滤——标量过滤 + 向量搜索
  • 1.4 评估指标——召回率、QPS、延迟

二、Milvus——专业向量数据库

  • 2.1 架构——计算存储分离
  • 2.2 索引算法——HNSW / IVF_FLAT / IVF_PQ
  • 2.3 索引参数调优——M / efConstruction
  • 2.4 Java SDK 使用
  • 2.5 优点——向量检索性能最强
  • 2.6 缺点——独立部署,维护成本高

三、Elasticsearch——全文检索 + 向量检索

  • 3.1 ES 8.0+ 的向量检索能力
  • 3.2 dense_vector 类型
  • 3.3 knn 查询
  • 3.4 混合检索——BM25 + KNN
  • 3.5 优点——一库两用,全文 + 向量
  • 3.6 缺点——向量规模大时性能不如 Milvus

四、pgvector——PostgreSQL 的向量扩展

  • 4.1 CREATE EXTENSION vector
  • 4.2 vector(1536) 数据类型
  • 4.3 索引——IVFFlat / HNSW
  • 4.4 优点——数据库一体,运维简单
  • 4.5 缺点——超大规模向量性能有限

五、性能对比

  • 5.1 100 万向量 / 1000 万向量 / 1 亿向量
  • 5.2 QPS 与延迟对比表
  • 5.3 召回率对比

六、选型建议

  • 6.1 小规模 + 已有 PostgreSQL → pgvector
  • 6.2 全文 + 向量混合 → Elasticsearch
  • 6.3 大规模 + 高性能 → Milvus

七、总结

  • 向量数据库是 RAG 的基础设施
  • 选型 = 数据规模 + 性能要求 + 运维成本