向量数据库选型实测:Milvus / Chroma / Qdrant
⚠️ 本文为公开资料整理版(占位):基于三者官方文档与社区对比梳理,用于建立选型框架;本人尚未在同一数据集上完成三方横向压测,真实性能数据待补实践后替换。面试时可以据此讲清「选型逻辑」,但写进简历前请亲手跑一遍。
一、先想清楚要什么
选向量库前先问三个问题:
- 数据量多大?千级 / 百万级 / 亿级?
- 部署形态?单机嵌入式还是要分布式集群?
- 要不要和检索框架、重排、元数据过滤深度集成?
不同答案直接决定选型。
二、三者定位
- Chroma:开发者友好,嵌入式起步,几行代码能跑,适合原型和小项目。代价是大规模下的运维能力弱。
- Qdrant:Rust 实现,性能和内存效率高,过滤(payload)能力强,云托管成熟,适合中大型生产。
- Milvus:面向海量(亿级)的分布式向量库,架构最重,运维成本高,但扩展性是三者最强。
三、对比速查
| 维度 | Chroma | Qdrant | Milvus |
|---|---|---|---|
| 起步成本 | 极低(pip 即用) | 低(Docker) | 高(分布式) |
| 单机性能 | 中 | 高 | 高(规模取胜) |
| 分布式 | 弱 | 中 | 强 |
| 元数据过滤 | 一般 | 强 | 强 |
| 适合阶段 | 原型/小项目 | 生产主力 | 海量/企业 |
四、我的选型建议(逻辑,非实测)
- 做 Demo / 个人项目 / 千到十万级:直接 Chroma,省心。
- 要上生产、数据持续增长、重视过滤与延迟:Qdrant 是甜点区。
- 真到了亿级、要横向扩展:Milvus。
五、一个常被忽略的点:和 RAG 管线的耦合
向量库不是孤立的——它要和你切分策略、embedding 模型、重排、元数据过滤一起调。我手搓 RAG 那篇强调过,检索层要先测准再谈生成。所以选型时也要看:支不支持按 metadata 过滤(比如只检索某类别的文档)、支不支持混合检索的分数融合。
六、待补的真实实践清单
- 同一份中文文档集,三方跑召回@10 + QPS 对比;
- 记录 Qdrant 在 12G 单机上的内存占用与上限;
- 测 metadata 过滤对延迟的影响。
实测完成后,这篇会改为「实战版」,结论以数据为准。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 河岳日星的博客!
