最近在做RAG项目,数据量大概几百万条文本embedding,之前图省事直接用pandas+faiss硬搞,现在查出来太慢了。看了一圈向量数据库,Milvus和Qdrant都试了,但感觉越用越懵。Milvus部署起来好重,还要搞etcd那些,但社区说性能好;Qdrant轻量很多,Python直接pip就能跑,但不知道能不能扛住生产环境。有没有实际跑过类似规模的老哥,说说选型时候到底该关注哪些坑?另外,我看很多文章都在吹HNSW,但实际调参的时候,efConstruction和M到底怎么配才合理?现在最烦的是,项目急着上线,没时间把每个库都深度吃透,求一条明路。
楼主
14天前
向量数据库到底怎么选?Milvus和Qdrant把我整不会了
请 登录 后发表回复
全部回复
共 45 条
2楼
1天前
扛过百万级,Qdrant单机够用,Milvus那套运维成本真不是小团队能随便玩的。
3楼
1天前
几百万量级真别纠结,Qdrant单机够了,Milvus那套运维成本够你喝一壶。HNSW参数先默认,召回率不行再调M。
4楼
1天前
几百万条其实不算特别大,我上周刚把一套类似规模的数据从faiss迁到Qdrant,单机跑得很稳,主要看你查询QPS和延迟要求。Milvus那套etcd和分布式组件对中小团队确实有点杀鸡用牛刀,运维成本直接劝退。HNSW参数别太纠结,M设16左右,efConstruction设200,先跑通再拿真实数据调,别被文章带偏了。急着上线的话,我的建议是直接上Qdrant,它Python客户端顺手,出了问题社区响应也快。
5楼
1天前
几百万条这量级其实不算大,关键看你的查询延迟和QPS要求。Qdrant单机扛这个量完全没问题,我生产上跑过千万级的,反而Milvus那套etcd、pulsar组件运维起来真能折腾死人。HNSW调参别纠结,M取16,efConstruction取200起步,先跑通再根据recall和延迟微调,别信那些花里胡哨的教程。另外建议你重点测一下带metadata过滤的混合检索,RAG场景里这往往是真正的性能瓶颈,比向量检索本身还容易翻车。
6楼
11小时前
巧了,我之前也是几百万量级,最后选的Qdrant,主要图它部署省心,单机跑起来没问题,但你要是搞分布式集群那确实得掂量下。Milvus那套etcd依赖真劝退,除非你有专门运维。HNSW调参别太纠结,先M设16,efConstruction设200试,再根据召回率微调,比网上那些玄学参数靠谱。