https://benchmark.vectorview.ai/vectordbs.html Picking a vector database: a comparison and guide for 2023 In an era where semantic search and retrieval-augmented generation (RAG) are redefining our online interactions, the backbone supporting these advancements is often overlooked: vector databases. If you're diving into applications like large language models, RAG, or any platform leveraging semantic search, you're in the right place. Picking a vector database can be hard. Scalability, latency, costs, and even compliance hinge on this choice. For those navigating this terrain, I've embarked on a journey to sieve through the noise and compare the leading vector databases of 2023. I've included the following vector databases in the comparision: Pinecone, Weviate, Milvus, Qdrant, Chroma, Elasticsearch and PGvector. The data behind the comparision comes from ANN Benchmarks, the docs and internal benchmarks of each vector database and from digging in open source github repos. A comparison of leading vector databases Pinecone Weaviate Milvus Qdrant Chroma Elasticsearch PGvector Is open source Self-host Cloud management ([?]) Purpose-built for Vectors Developer experience Community 8k 23k github, 13k github, 9k github, 6k Community page & github, 4k slack 3k discord 6k discord 23k slack github events 4k slack Queries per second 150 *for p2, 700-100 *from (using text but more 791 2406 326 ? various 141 nytimes-256-angular) pods can be reports added Latency, ms (Recall/ 1 *batched Percentile 95 search, 0.99 2 1 4 ? ? 8 (millis), recall, 200k nytimes-256-angular) SBERT Supported index ? HNSW Multiple (11 HNSW HNSW HNSW HNSW/ types total) IVFFlat Hybrid Search (i.e. scalar filtering) Disk index support Role-based access control Dynamic segment Static Dynamic Static Dynamic Static placement vs. static ? sharding segment sharding segment sharding - data sharding placement placement Free hosted tier (free (free (free (varies) self-hosted) self-hosted) self-hosted) Pricing (50k vectors $70 fr. $25 fr. $65 est. $9 Varies $95 Varies @1536) Pricing (20M $227 ($2074 fr. $309 fr. $281 vectors, 20M req. for high $1536 ($2291 for ($820 for Varies est. $1225 Varies @768) performance) high high performance) performance) Navigating the terrain of vector databases in 2023 reveals a diverse array of options each catering to different needs. The comparison table paints a clear picture, but here's a succinct summary to aid your decision: 1. Open-Source and hosted cloud: If you lean towards open-source solutions, Weviate, Milvus, and Chroma emerge as top contenders. Pinecone, although not open-source, shines with its developer experience and a robust fully hosted solution. 2. Performance: When it comes to raw performance in queries per second, Milvus takes the lead, closely followed by Weviate and Qdrant. However, in terms of latency, Pinecone and Milvus both offer impressive sub-2ms results. If nmultiple pods are added for pinecone, then much higher QPS can be reached. 3. Community Strength: Milvus boasts the largest community presence, followed by Weviate and Elasticsearch. A strong community often translates to better support, enhancements, and bug fixes. 4. Scalability, advanced features and security: Role-based access control, a feature crucial for many enterprise applications, is found in Pinecone, Milvus, and Elasticsearch. On the scaling front, dynamic segment placement is offered by Milvus and Chroma, making them suitable for ever-evolving datasets. If you're in need of a database with a wide array of index types, Milvus' support for 11 different types is unmatched. While hybrid search is well-supported across the board, Elasticsearch does fall short in terms of disk index support. 5. Pricing: For startups or projects on a budget, Qdrant's estimated $9 pricing for 50k vectors is hard to beat. On the other end of the spectrum, for larger projects requiring high performance, Pinecone and Milvus offer competitive pricing tiers. In conclusion, there's no one-size-fits-all when it comes to vector databases. The ideal choice varies based on specific project needs, budget constraints, and personal preferences. This guide offers a comprehensive lens to view the top vector databases of 2023, hoping to simplify the decision-making process for developers. My choice? I'm testing out Pinecone and Milvus in the wild, mostly because of their high performance, Milvus strong community and price flexibility at scale. --------------------------------------------------------------------- [651d5eca6d] Emil Froberg co-founder of Vectorview Sources https://www.kdnuggets.com/2023/06/ vector-databases-important-llms.html https://ann-benchmarks.com/ https://qdrant.tech/benchmarks/ https://zilliz.com/comparison Github and docs for each vector database Appendix 1: explination of comparision parameters * Is open source: Indicates if the software's source code is freely available to the public, allowing developers to review, modify, and distribute the software. * Self-host: Specifies if the database can be hosted on a user's own infrastructure rather than being dependent on a third-party cloud service. * Cloud management: Offers an interface for database cloud management * Purpose-built for Vectors: This means the database was specifically designed with vector storage and retrieval in mind, rather than being a general database with added vector capabilities. * Developer experience: Evaluates how user-friendly and intuitive it is for developers to work with the database, considering aspects like documentation, SDKs, and API design. * Community: Assesses the size and activity of the developer community around the database. A strong community often indicates good support, contributions, and the potential for continued development. * Queries per second: How many queries the database can handle per second using a specific dataset for benchmarking (in this case, the nytimes-256-angular dataset) * Latency: the delay (in milliseconds) between initiating a request and receiving a response. 95% of query latencies fall under the specified time for the nytimes-256-angular dataset. * Supported index types: Refers to the various indexing techniques the database supports, which can influence search speed and accuracy. Some vector databases may support multiple indexing types like HNSW, IVF, and more. * Hybrid Search: Determines if the database allows for combining traditional (scalar) queries with vector queries. This can be crucial for applications that need to filter results based on non-vector criteria. * Disk index support: Indicates if the database supports storing indexes on disk. This is essential for handling large datasets that cannot fit into memory. * Role-based access control: Checks if the database has security mechanisms that allow permissions to be granted to specific roles or users, enhancing data security. * Dynamic segment placement vs. static data sharding: Refers to how the database manages data distribution and scaling. Dynamic segment placement allows for more flexible data distribution based on real-time needs, while static data sharding divides data into predetermined segments. * Free hosted tier: Specifies if the database provider offers a free cloud-hosted version, allowing users to test or use the database without initial investment. * Pricing (50k vectors @1536) and Pricing (20M vectors, 20M req. @768): Provides information on the cost associated with storing and querying specific amounts of data, giving an insight into the database's cost-effectiveness for both small and large-scale use cases.