Prompt
do i need Milvus for millions of embeddings?
Latest observation
Oct 7, 2026
OpenAI APIWeb search: off
Not necessarily.
Whether you need Milvus for “millions of embeddings” depends more on your query pattern, latency requirements, update rate, and ops tolerance than on the raw count alone.
You may not need Milvus if:
- You have a few million vectors and:
- low-to-moderate query volume
- relaxed latency (e.g. hundreds of ms to a few seconds)
- mostly static data
- You can use:
- FAISS locally
- pgvector in Postgres
- Pinecone / Weaviate / Qdrant managed or simpler alternatives
- You want minimal infra and can batch searches offline
Milvus starts to make sense if:
- You need fast similarity search at scale with:
- high QPS
- low latency
- frequent inserts/updates
- You expect to grow to tens/hundreds of millions+ of vectors
- You need distributed storage/compute and more production-grade vector DB features
- You want filtering + ANN search in a dedicated system
Rough rule of thumb
- < 1M vectors: lots of options; Milvus often overkill
- 1M–10M vectors: Milvus can be useful, but not required
- 10M+ vectors: dedicated vector DBs like Milvus become more compelling
- 100M+ vectors: Milvus (or similar) often becomes a serious candidate
Common alternatives
- FAISS: best if you can keep it simple and mostly local
- pgvector: great if you already use Postgres and scale is moderate
- Qdrant / Weaviate: easier vector DB experience for many teams
- Elastic/OpenSearch vector search: if you’re already on those stacks
Ask yourself
- How many vectors now, and in 6–12 months?
- How many searches per second?
- What latency do you need?
- Do you need metadata filtering?
- Will vectors be updated often?
- Do you want to operate infra yourself?
If you want, I can give you a “use Milvus vs pgvector vs FAISS” decision table based on your expected vector count, QPS, and latency target.