Qdrant 与 Milvus 怎么选
结论先行
中小规模、强过滤、部署简单、Rust 性能好,选 Qdrant。亿级向量、分布式、多索引类型和存算分离,选 Milvus。
如果已经在用 PostgreSQL 且数据量不大,也可以先看 pgvector,不必过早引入独立向量库。
核心差异
| 维度 |
Qdrant |
Milvus |
| 定位 |
轻量到中等规模向量库 |
大规模分布式向量数据库 |
| 部署 |
单二进制/Docker,简单 |
依赖 etcd、对象存储、消息队列 |
| 扩展 |
分片/副本,集群模式 |
水平扩展成熟 |
| 过滤 |
payload 过滤强,索引灵活 |
标量过滤,依赖 schema |
| 索引 |
HNSW 等 |
IVF、HNSW、DiskANN 等 |
| 多租户 |
collection/payload 隔离 |
database/collection/partition |
| 运维 |
简单 |
组件多,运维复杂 |
| 适用场景 |
RAG、推荐、中小规模 |
亿级向量、平台化服务 |
怎么选
- 数据量在千万级以内、团队小:Qdrant。
- 需要强元数据过滤和多租户:Qdrant 的 payload 模型更直接。
- 亿级向量、多索引、存算分离:Milvus。
- 已有 Kubernetes 和对象存储,能接受复杂运维:Milvus。
- 需要频繁更新和删除:两者都支持,但要看具体版本和索引。
- 只是原型验证:Qdrant 或 pgvector 更快。
注意
- 向量维度、距离函数和归一化方式必须与 embedding 模型一致。
- 过滤字段要建索引,否则性能下降明显。
- 单机部署没有副本,故障后可能丢数据。
- 大规模场景先做召回率、延迟和成本压测。
- 备份和快照策略要覆盖 collection/schema 和原始数据。
相关命令