向量数据库选型调研
背景
在做检索增强生成(RAG)时,需要一个存储和检索文档向量的方案。本文对比常见的 几种向量库,聚焦「百万级向量、单机或小集群」这一档位。
候选对比
| 方案 | 部署复杂度 | 生态 | 适合规模 |
|---|---|---|---|
| pgvector | 低(复用 Postgres) | 强 | < 100 万 |
| Qdrant | 中 | 中 | 百万 ~ 千万 |
| Milvus | 高(需组件编排) | 强 | 千万级以上 |
结论
- 优先 pgvector:如果已经在用 Postgres,数据量在百万以内,直接加扩展最省事, 事务、备份、权限全部复用现有基础设施。
- 上量再迁 Qdrant:当召回延迟成为瓶颈、或需要更丰富的过滤/量化时再迁移。
- Milvus 谨慎:运维成本高,仅在千万级向量且团队有专职 SRE 时考虑。
选型第一原则:先用最能复用现有栈的方案,不要为未来的规模提前买单。
-- pgvector 建表示例
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE docs (
id bigserial PRIMARY KEY,
content text,
embedding vector(1536)
);
CREATE INDEX ON docs USING hnsw (embedding vector_cosine_ops);