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.33 | 30-50ms | 是 | 零运维/初创 |
| pgvector | 自托管(PG扩展) | 按基础设施 | 50-100ms | 需组合 | 已有PG栈 |
| Qdrant | 自托管/Cloud | $0.28 | 30-40ms | 是 | 高吞吐/成本敏感 |
| Weaviate | 自托管/Cloud | $0.095 | 50-70ms | 最佳 | 混合搜索优先 |
| Milvus | 自托管/Cloud | ~$0.15/CU | 20-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)更合适。