Welcome to the Comparison of Vector Databases page. This resource provides a detailed comparison of various vector databases to help you understand their features and capabilities. For updates and contributions, visit our repository at https://github.com/lqhl/vectordb-comparison/ and feel free to submit pull requests.
This page is maintained by lqhl. Follow me at @qliu52.
MyScale | Pinecone | Qdrant | Weaviate | Milvus | Chroma | Postgres (pgvector) | Postgres (pgvecto.rs) | OpenSearch | |
---|---|---|---|---|---|---|---|---|---|
Purpose-built for vector search | ✅ MyScale is built atop ClickHouse with focus on vector search. | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ Postgres is a relational database. | ❌ Postgres is a relational database. | ❌ OpenSearch is a full-text search engine. It recently added vector search support. |
Managed cloud | ✅ | ✅ | ✅ | ✅ | ✅ Provided by Zilliz. | ❌ | ✅ Provided by Supabase, Amazon RDS for PostgreSQL etc. | ❌ | ✅ Provided by Amazon OpenSearch Service. |
Free pods | ✅ ~5M 768D vectors (unlimited lifetime) | ✅ ~200k 768D vectors (unlimited lifetime) | ✅ ~1M 768D vectors (unlimited lifetime) | 🔶 14 days trial | ✅ two cluster each with ~500K 768D vectors (unlimited lifetime) | ❌ | ✅ ~170K 768D vectors (unlimited lifetime) provided by Supabase; might be less due to memory limit | ❌ | ❌ |
Self-host | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Open-source | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
SQL support | ✅ | ❌ Pinecone provides RESTful API not SQL. | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ OpenSearch provides SQL support. |
Supported index types | MSTG, HNSW, IVF Details can be found in their docs. | HNSW, FreshDiskANN Details can be found in their blog Great Algorithms Are Not Enough. | HNSW | HNSW | HNSW, IVF, ScaNN, DiskANN Details can be found in their docs. | HNSW | HNSW, IVF | HNSW, IVF | HNSW |
Disk index support | ✅ They mention that NVMe SSD is used. | ✅ They support FreshDiskANN which is a disk index. | ✅ Qdrant supports disk storage with memory map. | ❌ | ✅ They support DiskANN which is a disk index. | ❌ | ❌ | ❌ | ❌ |
Metadata filtering | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Time-based metadata filtering | ✅ | 🔶 Pinecone does not support time or date types, and users need to convert time/date to integer in-order to filter on time. | 🔶 Qdrant does not support time or date types, and users need to convert time/date to integer in-order to filter on time. | ✅ | 🔶 Milvus does not support time or date types, and users need to convert time/date to integer in-order to filter on time. | ❌ | ✅ | ✅ | ✅ |
Geospatial data support | ✅ MyScale supports geospatial data since it's built on the top of ClickHouse. | ❌ | ✅ Qdrant supports geospatial data. | ✅ Weaviate supports geospatial data. | ❌ | ❌ | ✅ Postgres supports geospatial data with another plugin PostGIS. | ✅ Postgres supports geospatial data with another plugin PostGIS. | ✅ OpenSearch supports geospatial data. |
Aggregations | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
Hybrid search Hybrid search is the ability to search on vectors and text (using a fulltext index or sparse vector index) at the same time. | ✅ MyScale supports hybrid search with a full-text index based on Tantivy. | ✅ Pinecone supports hybrid search with sparse vector index. | ✅ Qdrant supports hybrid search with sparse vector index. | ✅ Weaviate supports hybrid search with BM25. | ❌ Milvus uses the phrase “hybrid search”, but it means metadata filtering. | ❌ | 🔶 Postgres supports hybrid search by utilizing postprocessing outside the database. | 🔶 Similar to pgvector. | ✅ OpenSearch supports hybrid search with full-text index (BM25). |
Monthly Cost Per 100 QPS (Lower Is Better) Indicates the monthly expense to achieve 100 Queries Per Second on a 5M 768D vector dataset with each vector database cloud service. Lower costs represent higher cost-effectiveness. Benchmark data provided by MyScale. | 30 | 181 | 125 | 89 | 152 | N/A | 64 | 161 | 616 |
Monthly Cost Per 100 QPS for Filtered Vector Search (Lower Is Better) Reflects the monthly cost for achieving 100 Queries Per Second on a 5M 768D vector dataset with metadata filtering in each vector database cloud service. Lower costs indicate more cost-efficient handling of filtered searches. Benchmark details available at MyScale. | 83 | 449 | 368 | 2026 | 285 | N/A | Low precision Postgres with pgvector has low precision (less than 50%). | 739 | Low precision OpenSearch has low precision (less than 50%). |