返回架构笔记
Arch Day 142

Arch Day 142: 向量数据库选型 — Pinecone vs pgvector vs Qdrant

向量数据库是RAG的记忆层——决定了检索速度、准确度和成本。选型的核心不是"哪个最快",而是匹配数据规模、运维能力和预算。

2026-08-19
第六阶段 - LLM与AI架构
向量数据库PineconepgvectorQdrantWeaviateMilvusRAG

日期: 2026-08-19 (Day 142) 阶段: 第六阶段 - LLM与AI架构 标签: #向量数据库 #Pinecone #pgvector #Qdrant #Weaviate #Milvus #RAG


核心概念

一句话定义

向量数据库是RAG的记忆层——决定了检索速度、准确度和成本。选型的核心不是"哪个最快",而是匹配数据规模、运维能力和预算。


知识点详解

1. 核心对比矩阵

数据库部署存储$/GB/月延迟p99混合搜索最佳场景
Pinecone全托管$0.3330-50ms零运维/初创
pgvector自托管(PG扩展)按基础设施50-100ms需组合已有PG栈
Qdrant自托管/Cloud$0.2830-40ms高吞吐/成本敏感
Weaviate自托管/Cloud$0.09550-70ms最佳混合搜索优先
Milvus自托管/Cloud~$0.15/CU20-40ms超大规模(>1B)
ChromaDB嵌入式免费10-30ms有限原型开发

2. Pinecone Serverless定价

项目价格
存储$0.33/GB/月
读取$8.25/1M Read Units
写入$2.00/1M Write Units
免费层2GB, 5个index
Standard最低$50/月

注意: 带metadata过滤的查询可能消耗5-10 RU(非固定1 RU)。

3. 选型决策树

数据规模 < 50M向量?
├── 是 → Managed SaaS
│   ├── 零运维优先 → Pinecone Serverless
│   ├── 混合搜索最优 → Weaviate Cloud
│   └── 性价比+性能 → Qdrant Cloud ($25/月起)
└── 否(>50M)
    ├── >1B向量 → Milvus (DiskANN)
    ├── 已有Postgres → pgvectorscale
    └── 极致控制 → Qdrant自部署 (量化+磁盘: $102→$27)

面试题

问题:为什么不直接用PostgreSQL的pgvector?

回答:pgvector适合已有PG栈且规模<50M向量的场景——ACID事务、JOIN查询、无额外运维。但劣势是:1) 缺少原生混合搜索;2) 大规模下性能不如专用向量库;3) 索引构建可能影响OLTP性能。如果向量搜索是核心功能,专用库(Qdrant/Weaviate)更合适。