Milvus vs Weaviate

Two of the top vector databases, side by side: score, setup, license, activity and what each review found.

11st of 8 in Vector databases

Milvus

Distributed vector database with dense, sparse and hybrid search at scale

#44th of 8 in Vector databases

Weaviate

Go vector database with built-in vectorizers, hybrid search and RAG

Milvus vs Weaviate: score parts and facts
What we compareMilvusWeaviate
Score parts, out of 100
Adoption82, widely used42, known
Freshness100, active100, active
Maintenance84, healthy71, fair
Easy to run67, easy50, easy
Agent-ready70, partly40, minimal
Facts from GitHub and the README
Stars46.4k16.9k
LicenseApache-2.0 (permissive)custom license (read the license)
Last commitOct 2026Oct 2026
Last releaseSep 2026Oct 2026
LanguageGoGo
DockerYesYes
GPUOptionalNot needed
arm64 or Apple SiliconMentionedMentioned

Milvus

Milvus is a distributed vector database (Go and C++, LF AI & Data Foundation) that separates compute and storage on Kubernetes, with a Standalone Docker mode and pip-installable Milvus Lite. It offers HNSW, IVF, FLAT, SCANN and DiskANN indexes, GPU CAGRA, sparse BM25 and learned-sparse vectors for hybrid search, metadata filtering, multi-tenancy, hot/cold storage, auth, TLS and RBAC.

Who it is for: teams needing billion-scale vector search on Kubernetes

Strengths

  • Index types HNSW, IVF, FLAT, SCANN, DiskANN plus GPU CAGRA
  • Dense, sparse (BM25, SPLADE, BGE-M3) and hybrid search in one collection
  • Multi-tenancy at database, collection, partition or partition-key level
  • Mandatory auth, TLS and RBAC; Milvus Lite via pip for local dev

Weaknesses

  • Distributed mode is Kubernetes-native with several microservices to operate
  • No port, RAM or Docker command in the README; install lives in docs
  • Zilliz is the major contributor and promotes its managed cloud
  • Source build needs Go 1.21+, CMake, GCC 11+ and Python 3.8 to 3.11
  • GPU optional
  • Compose
  • Compose runs Milvus, MinIO
  • Models: any embedding model or service; pymilvus[model] wraps embedding and reranking models

Weaviate

Weaviate is a Go vector database that stores objects with their vectors and serves hybrid BM25 plus semantic search, filtering, built-in RAG and reranking through REST, gRPC and GraphQL APIs. It can vectorize data at import using modules for OpenAI, Cohere, HuggingFace, Google or a local model2vec image, or accept precomputed vectors. Docker Compose runs it on ports 8080 and 50051; production adds multi-tenancy, replication and RBAC.

Who it is for: teams wanting built-in vectorization, hybrid search and RAG in the database

Strengths

  • Vectorizes at import with OpenAI, Cohere, HuggingFace, Google or a local model2vec container
  • Hybrid BM25 plus vector, image search, filtering, RAG and reranking in one query
  • Multi-tenancy, replication, RBAC, horizontal scaling and vector compression
  • REST, gRPC and GraphQL with Python, TypeScript, Java, Go and C# clients

Weaknesses

  • Enterprise features in wl/ need a commercial license key; one image mixes both
  • Vectorization needs a module container or external API keys
  • No RAM or sizing guidance in the README
  • Both REST 8080 and gRPC 50051 must be exposed
  • no GPU
  • Docker + Compose
  • Needs optional embedding inference container (e.g. model2vec) or external embedding APIs
  • Models: OpenAI, Cohere, HuggingFace, Google and other integrated model providers, local model2vec (minishlab/potion-base-32M), precomputed vectors
  • port 8080

More in Vector databases

Building with these?

We help teams pick an open-source AI stack and run it in production. Client work never changes a rank.

AI app development →