| Feature | Pinecone | Weaviate | Qdrant | Milvus | Chroma | pgvector |
|---|---|---|---|---|---|---|
| Type | Managed | Open/Managed | Open/Managed | Open | Open | Extension |
| Self-host | No | Yes | Yes | Yes | Yes | Yes |
| Free tier | Yes | Yes | Yes | - | Unlimited | Free |
| Index | Proprietary | HNSW | HNSW | Multiple | HNSW | IVFFlat/HNSW |
| Filtering | Good | Excellent | Excellent | Good | Basic | Full SQL |
| Hybrid search | Yes | Yes | Yes | Yes | No | With pg |
| Best for | Production | Hybrid/GraphQL | Performance | Scale | Dev/Proto | Postgres users |
Quick Recommendations
Just starting / Prototyping
Chroma
Runs locally, no setup, great DX
Production (managed)
Pinecone
Zero ops, enterprise support
Self-hosted performance
Qdrant
Fast, great filtering, Rust
Already using Postgres
pgvector
No new infrastructure
Detailed Notes
Pinecone
Fully managed, easiest to use. Great for teams that don't want to manage infrastructure. Pricing can add up at scale.
Weaviate
Powerful hybrid search, GraphQL API, built-in vectorization. More complex but very capable.
Qdrant
Written in Rust, excellent performance. Great filtering capabilities. Growing community.
Milvus
Enterprise-scale, many index types. More complex to operate. Good for very large datasets.
Chroma
Perfect for local development and prototyping. Simple API, runs in-process. Limited production features.
pgvector
If you use Postgres, start here. Keep vectors with relational data. May not scale as well as dedicated solutions.