最近在做RAG应用,数据量大概几十万条文本切块后的embedding。先用ChromaDB本地跑通了demo,但部署到服务器上并发一上来就卡得要死。看网上都在吹Milvus,但部署起来好重,还要配etcd和minio。我现在就很纠结:是ChromaDB优化一下够用,还是早点迁移到Milvus?另外像qdrant和weaviate也有人说好,有没有大佬实际生产环境对比过?主要关心检索延迟、资源占用和运维成本,顺便问下分片策略和索引类型选择有没有什么坑,感谢!
最近在做RAG应用,数据量大概几十万条文本切块后的embedding。先用ChromaDB本地跑通了demo,但部署到服务器上并发一上来就卡得要死。看网上都在吹Milvus,但部署起来好重,还要配etcd和minio。我现在就很纠结:是ChromaDB优化一下够用,还是早点迁移到Milvus?另外像qdrant和weaviate也有人说好,有没有大佬实际生产环境对比过?主要关心检索延迟、资源占用和运维成本,顺便问下分片策略和索引类型选择有没有什么坑,感谢!
几十万切块其实不算大,ChromaDB卡大概率是并发和索引没调好,它默认配置本来就不适合线上多并发。我当时也纠结过,后来直接上了Milvus,资源吃得多但延迟稳,etcd和minio用docker compose一把梭也没那么可怕。Qdrant我觉得挺香的,单机部署轻,几十万级别延迟和内存都比Milvus友好,运维也省心。索引这块别急着上HNSW,先IVF_FLAT压测一下,分片在小数据量下反而容易帮倒忙。