一句话总结:pgvector 适合已有 PostgreSQL 的团队(零额外运维);Qdrant 适合中等规模、需 Hybrid Search 的场景;Milvus 适合亿级向量、高并发生产环境。
三者对比
| 维度 | pgvector | Qdrant | Milvus |
|---|---|---|---|
| 类型 | PG 扩展 | 独立向量库 | 分布式向量库 |
| 最大规模 | 千万级 | 亿级 | 十亿级 |
| Hybrid Search | pg_bm25 插件 | 原生支持 | 2.4+ 支持 |
| 运维复杂度 | ⭐ 最低 | ⭐⭐ 低 | ⭐⭐⭐ 中 |
| 权限隔离 | PG RBAC | Payload Filter | Partition + RBAC |
| 开源协议 | PostgreSQL | Apache 2.0 | Apache 2.0 |
选型决策
已有 PostgreSQL 且向量 < 500 万?
└─ 是 → pgvector(零额外组件)
需要 Hybrid Search 且向量 < 1 亿?
└─ 是 → Qdrant(部署简单、功能全)
向量 > 1 亿 或 QPS > 1000?
└─ 是 → Milvus(分布式、高性能)
政务/金融信创环境?
└─ Milvus 信创版 或 pgvector + 国产 PG(人大金仓/达梦)
性能参考(100 万向量,768 维)
| 操作 | pgvector | Qdrant | Milvus |
|---|---|---|---|
| 单次检索 P99 | 45ms | 12ms | 8ms |
| 批量插入 10 万/s | 2,000 | 15,000 | 50,000 |
| 内存占用 | 共享 PG | 独立 | 独立(可调) |
泽衍科技项目选型分布
- pgvector:40%(中小型企业,已有 PG 基础设施)
- Qdrant:35%(中型知识库,500 万~5000 万向量)
- Milvus:25%(大型项目,高并发或多租户)
常见问题
pgvector 性能够用吗? 500 万向量以内、QPS < 100 完全够用。超过后建议迁移到 Qdrant/Milvus,迁移成本可控(导出 embedding 重新导入)。
向量数据库需要 GPU 吗? 不需要。向量检索是 CPU 内存操作。GPU 仅用于 Embedding 生成和 LLM 推理。
如何做向量数据库备份? pgvector 随 PG 备份;Qdrant/Milvus 支持快照(Snapshot)+ 增量备份,建议每日自动备份。