Supported databases
Pinecone
Managed cloud service with native hybrid search
Weaviate
Open-source with BM25 and generative search
Milvus
Scalable with partition-key multi-tenancy
Qdrant
High-performance with quantization support
Chroma
Lightweight for local development
Feature comparison
| Feature | Pinecone | Weaviate | Milvus | Qdrant | Chroma |
|---|---|---|---|---|---|
| Dense search | ✅ | ✅ | ✅ | ✅ | ✅ |
| Sparse vectors | ✅ SPLADE | ✅ BM25 | ✅ SPLADE | ✅ SPLADE | ✅ SPLADE |
| Hybrid search | ✅ Native | ✅ Native | ✅ RRF | ✅ RRF | ✅ Experimental |
| Metadata filtering | ✅ | ✅ | ✅ JSON paths | ✅ | ✅ |
| Multi-tenancy | Namespaces | Collections | Partition keys | Payload filters | Tenant/database |
| Quantization | ❌ | ❌ | ❌ | ✅ Scalar/Binary | ❌ |
| Generative search | ❌ | ✅ RAG | ❌ | ❌ | ❌ |
| Distance metrics | Cosine, Euclidean, Dot | Cosine, Euclidean, Dot | Cosine, Euclidean, IP | Cosine, Euclidean, Dot | Cosine, L2, IP |
| Deployment | Cloud only | Cloud + self-hosted | Cloud + self-hosted | Cloud + self-hosted | Cloud + local |
| Max dimensions | 20,000 | Unlimited | 32,768 | 65,536 | Unlimited |
Selection guide
Choose Pinecone if you need:
- Fully managed cloud service with zero infrastructure overhead
- Native sparse-dense hybrid search without external encoders
- Namespace isolation for 100,000+ tenants
- Serverless autoscaling for variable workloads
Choose Weaviate if you need:
- Native BM25 keyword search without sparse embeddings
- Generative search (RAG) with built-in LLM integration
- Multi-tenancy with per-tenant shards
- GraphQL query interface
Choose Milvus if you need:
- Partition-key isolation for millions of tenants
- JSON path indexing for complex metadata filtering
- Hybrid search with configurable RRF or weighted fusion
- Both Zilliz Cloud and self-hosted deployment options
Choose Qdrant if you need:
- Scalar or binary quantization for 4-32x memory reduction
- Maximal marginal relevance (MMR) for diverse results
- Tenant optimization for high-cardinality filtering
- High-performance gRPC protocol support
Choose Chroma if you need:
- Local persistent storage for development and testing
- Lightweight deployment without external dependencies
- Rapid prototyping with minimal configuration
- Tenant/database isolation for multi-tenancy
Multi-tenancy strategies
Each database uses different isolation mechanisms:Pinecone: Namespace isolation
Pinecone: Namespace isolation
Logical partitioning within a single index. Recommended for up to 100,000 tenants.
Weaviate: Collection-based multi-tenancy
Weaviate: Collection-based multi-tenancy
Native multi-tenancy with per-tenant shards for enterprise-grade isolation.
Milvus: Partition key isolation
Milvus: Partition key isolation
Physical partitioning at the storage layer. Supports millions of tenants efficiently.
Qdrant: Payload-based with tenant optimization
Qdrant: Payload-based with tenant optimization
Indexed payload filters with specialized tenant optimization (Qdrant 1.16+).
Chroma: Tenant and database scoping
Chroma: Tenant and database scoping
Flexible isolation using tenant and database namespaces.
Hybrid search approaches
Pinecone and Weaviate: Native hybrid
Both databases handle hybrid search internally without external fusion logic:Milvus and Qdrant: RRF fusion
Both use Reciprocal Rank Fusion to merge dense and sparse results:Connection patterns
Performance considerations
Memory optimization
- Qdrant offers the best memory efficiency with scalar (4x reduction) and binary (32x reduction) quantization
- Milvus supports large-scale deployments with partition-based data distribution
- Chroma is ideal for small to medium datasets in local environments
Query latency
- Pinecone and Qdrant provide the lowest latency with optimized indexing
- Weaviate excels at hybrid search with native BM25 integration
- Milvus offers configurable HNSW parameters for latency vs. recall tradeoffs
Throughput
- Qdrant uses gRPC by default for higher throughput than HTTP-based databases
- Milvus supports batch operations with configurable shard numbers
- Pinecone auto-scales for variable workload patterns
Next steps
Pinecone setup
Configure Pinecone for serverless hybrid search
Weaviate setup
Set up Weaviate with generative search
Milvus setup
Deploy Milvus with partition keys
Qdrant setup
Enable Qdrant quantization and MMR