Best Open Source Vector Databases in 2026

I looked at 31 open source vector databases, Postgres extensions and search engines with vector search, and ranked the ones I'd trust with a production RAG or search system. Then I loaded the same 100,000 OpenAI embeddings into Qdrant, Milvus, Weaviate, Chroma and pgvector on one cloud server and ran 1,000 searches on each.

Data refreshedMethodologyHow we evaluate
Founder of Geekflare

Chandan Kumar is a founder of Geekflare. He is a technology enthusiast and entrepreneur who loves to help businesses and people around the world. Chandan has worked at BNP Paribas, Citibank, Deutsche Bank, Motorola, and HP. He’s got an in-depth understanding of business software and IT infrastructure.

What I found

  • All five returned the same top five as an exact search for my sample query. Across 1,000 searches, Qdrant and Weaviate found 99.3% of the true top 10 with their default settings, and Weaviate answered fastest, at a median of 4.9 ms.
  • Milvus and pgvector had the lowest recall at their defaults, 94.8% and 95.4%. Raising pgvector's hnsw.ef_search from 40 to 100 lifted it to 98.4% for under 2 ms more per search.
  • Milvus needed the most memory, peaking at 2.6 GB while indexing 100,000 vectors, against 755 MB for Chroma and under 1 GB for Qdrant and pgvector. It still ran on 4 GB, half the minimum its docs ask for.
  • Milvus's official compose file publishes MinIO on every network interface with the default minioadmin login, and Chroma has no login at all. Bind ports to 127.0.0.1 or a private network before loading real data.

Tested on DigitalOcean Droplet with Ubuntu 24.04 server with 2 vCPU and 4 GB of RAM, using Docker. “Ready in” runs from an empty server to the first working screen or result, image downloads included. “Memory at idle” is what the software and its database use together with no traffic. Every database got the same job: load 100,000 DBpedia articles embedded with OpenAI's text-embedding-ada-002, 1,536 dimensions with cosine distance, then run 1,000 held-out searches for the top 10, one at a time. Recall compares the results with an exact search. Each ran with its default index settings.

SoftwareVersionReady inMemory at idleLoad and index 100,000 vectorsRecall@10Median searchSlowest 5%What happened
Qdrant1.19.25 s16 MB of 4 GB1 min 56 s, 984 MB peak99.3%7.2 ms8.8 msRecall tied for best at 99.3% and the lightest at idle. Indexing finishes in the background after the upload, so wait for a green status before you test.
Milvus3.0.335 s301 MB of 4 GB2 min 3 s, 2,556 MB peak94.8%8.6 ms27.5 msRan on 4 GB, half its documented minimum, but peaked at 2.6 GB while indexing. Its default AUTOINDEX gave the lowest recall here and the slowest tail of searches.
pgvector0.8.712 s28 MB of 4 GB2 min 23 s, 852 MB peak95.4%6.6 ms10.1 msLoading with COPY took 11 seconds and the HNSW index 2 minutes 12 seconds. Recall was 95.4% at the default search setting and 98.4% after raising hnsw.ef_search to 100.
Weaviate1.40.16 s43 MB of 4 GB2 min 55 s, 1,243 MB peak99.3%4.9 ms6.1 msThe fastest searches here, at a median of 4.9 ms, with recall tied for best. It was also the slowest to load, because it builds the index as data arrives.
Chroma1.5.99 s10 MB of 4 GB2 min 3 s, 755 MB peak98.9%5.6 ms7.0 msThe least memory during the load, at 755 MB, and quick searches. The server has no login of any kind, so keep it off the public internet.

9 Open Source Vector Databases compared

Licence, deployment options and the vendor's hosted plan side by side. Several of these are search engines or Postgres extensions rather than dedicated vector databases, which matters for what you already run.

LicenceTypeDockerSSOManaged cloud
1
Qdrant
Rust
Apache-2.0
Permissive
Vector database35kOct 2026(Actively maintained)YesPaid onlyUsage-based
2
Milvus
Go / C++
Apache-2.0
Permissive
Vector database46kOct 2026(Actively maintained)YesPaid onlyUsage-based
3
pgvector
C (Postgres extension)
PostgreSQL
Permissive
Postgres extension23kOct 2026(Actively maintained)YesVia pluginNone
4BSD-3-Clause / Weaviate License
Open core
Vector database17kOct 2026(Actively maintained)YesFree edition$45/month
5
Chroma
Rust / Python
Apache-2.0
Permissive
Vector database30kMay 2026(Actively maintained)YesNoUsage-based
6Apache-2.0
Open core
Embedded vector database12kOct 2026(Actively maintained)NoNoPrice on request
7
OpenSearch
Java / Lucene and Faiss
Apache-2.0
Permissive
Search engine with vector search14kSep 2026(Actively maintained)YesFree editionNone
8
Vespa
Java / C++
Apache-2.0
Permissive
Search engine with vector search7.1kOct 2026(Actively maintained)YesNoUsage-based
9AGPL-3.0 / SSPL-1.0 / RSALv2
Copyleft
In-memory database with vector search77kSep 2026(Actively maintained)YesNo$5/month
  • Actively maintained
  • Slowing: last release 1 to 2 years ago
  • Stale: no release in over 2 years

What each one can do

The features that decide most vector search projects, checked against each project's docs. Paid means the feature is only in a paid edition or the vendor's cloud.

SoftwareHybrid searchBuilt-in embeddingsQuantizationDisk-based indexSharding and replicationMulti-tenancyEmbedded mode
QdrantYesSparse and dense vectors fused in one queryPartlyBM25 in the server; dense models via FastEmbed in the client or Qdrant CloudYesScalar, binary, product and TurboQuantYesOn-disk vectors and indexes via memory mappingYesYesTenant field, per-tenant shards or tieredYesQdrant Edge, in beta
MilvusYesBM25 full-text and dense vectors in one queryYesFunction module calls an embedding provider or TEI serverYesSQ8, PQ, PRQ and RaBitQ index variantsYesDiskANN and memory-mapped indexesYesYesDatabase, collection, partition or partition keyYesMilvus Lite for Python, FLAT index only
pgvectorPartlyCombine with Postgres full-text search in SQL; you write the fusionNoYesHalf-precision and binary quantization; no product quantizationPartlyIndexes are normal Postgres pages and can exceed RAM, but run best in memoryPartlyPostgres replication; sharding needs Citus or another toolYesList partitioning or separate tables per tenantNoRuns inside a Postgres server
WeaviateYesBM25 and vector search fused in one queryYesVectorizer modules for local models or API providersYesRQ, PQ, BQ and SQ; off by defaultYesHFresh and flat indexes keep data on diskYesShard self-recovery needs an Enterprise keyYesTenants are free; namespaces need an Enterprise keyPartlyExperimental; the client starts a Weaviate process
ChromaPaid onlyChroma Cloud only; self-hosted has text and regex filters, not ranked keyword searchYesLocal default model plus provider integrationsNoNo quantization documented for self-hosted ChromaNoSingle-node HNSW index must fit in RAMPartlyDistributed code is open source, but only single-node self-hosting is documentedYesTenants, databases and collection per customerYesPython only; JavaScript needs a server
LanceDBYesBM25 plus vector, merged with RRF or another rerankerYesEmbedding registry with OpenAI, Cohere, Sentence Transformers and othersYesPQ, scalar and RaBitQYesIVF-based indexes on disk or object storagePaid onlyLanceDB Enterprise onlyPartlySeparate tables or namespaces per customer; no tenant featureYes
OpenSearchYesHybrid query with normalisation or RRFYesML Commons local models or remote connectorsYesFP16, byte, binary, scalar and product quantizationYeson_disk mode; DiskANN-style JVector pluginYesPartlyIndex per tenant or document-level security; no tenant APINo
VespaYesBM25 and nearest neighbour combined in rank profilesYesONNX embedders in the cluster, or OpenAI, Voyage AI and MistralYesint8 and binarised vectorsPartlyPaged vectors on disk; HNSW indexing works best in RAMYesYesStreaming mode per user or group; vector search there is exactNo
RedisYesFT.HYBRID since 8.4PartlyRedisVL client calls embedding providers; the server has noneYesint8 and binary; Intel LVQ and LeanVec need RSALv2 buildsNoIn-memory; Redis Flex SSD tiering is in Redis Software and CloudYesRedis Cluster; check search across shards on your versionPartlyKey prefix per tenant with ACL key patternsNo
Ask Sparkian

Which vector database fits your project?

Describe what you're storing, roughly how many vectors and what you already run, and AI will shortlist the best fits from these picks.

Or try:

Vector databases I'd recommend

Ranked on what a team needs to run retrieval it can rely on: search quality and speed, filtering, how far it scales, the work to operate it, and which features stay free when you host it yourself.

  1. #1Best all-round self-hosted vector databaseTested by Geekflare

    Qdrant

    Vector database written in Rust, with payload filtering, hybrid search and quantization

    One Rust service with strong filtering, hybrid search, quantization, access tokens and audit logs in the free version. Server-side embedding models and SSO are only in Qdrant Cloud.

    Open source alternative to
    • Pinecone
    The dbpedia collection with 100,000 points in the Qdrant dashboard

    The dbpedia collection with 100,000 points in the Qdrant dashboard

    Tested Oct 19, 2026, version 1.19.2
    Ready in
    5 s
    Memory in use at idle
    16 MB of 4 GB
    Load and index 100,000 vectors
    1 min 56 s, 984 MB peak
    Recall@10
    99.3%
    Median search
    7.2 ms
    Slowest 5%
    8.8 ms

    Recall tied for best at 99.3% and the lightest at idle. Indexing finishes in the background after the upload, so wait for a green status before you test.

    Commands, notes and screenshots

    Best for

    Teams that want a light self-hosted vector database with strong filtering

    Not for

    Teams that want the database to create embeddings on their own servers

    • Rich payload filters combined with vector search in one query
    • Scalar, binary, product and TurboQuant quantization
    • Per-collection access tokens and audit logging in the free version
    • Qdrant Edge runs the same engine inside your app
    • Server-side embedding models are only in Qdrant Cloud
    • The free Helm chart lacks the paid operator's zero-downtime upgrades and backups
    • No authentication until you set an API key
    Licence
    Apache-2.0 (permissive)
    Stack
    Rust
    GitHub
    35k stars · 209 contributors
    Latest release
    v1.19.2 · Oct 5, 2026
    SSO
    Paid only
    Audit logs
    Free edition
    What people say
  2. #2Best for very large collectionsTested by Geekflare

    Milvus

    Distributed vector database that runs from a single container up to a Kubernetes cluster

    Built to grow from one container to a Kubernetes cluster, with DiskANN, GPU indexes, BM25 full-text search and lakehouse tables in the free version. It's the heaviest to run.

    Open source alternative to
    • Pinecone
    The dbpedia collection loaded in the Milvus web UI

    The dbpedia collection loaded in the Milvus web UI

    Tested Oct 19, 2026, version 3.0.3
    Ready in
    35 s
    Memory in use at idle
    301 MB of 4 GB
    Load and index 100,000 vectors
    2 min 3 s, 2,556 MB peak
    Recall@10
    94.8%
    Median search
    8.6 ms
    Slowest 5%
    27.5 ms

    Ran on 4 GB, half its documented minimum, but peaked at 2.6 GB while indexing. Its default AUTOINDEX gave the lowest recall here and the slowest tail of searches.

    Commands, notes and screenshots

    Best for

    Teams planning for hundreds of millions of vectors or more on their own Kubernetes

    Not for

    Small projects that want one light binary with no extra services

    • Runs as one container or as a cluster that scales compute and storage apart
    • Wide index choice, including DiskANN, RaBitQ and GPU indexes
    • BM25 full-text search and dense vectors in the same collection
    • Partition-key multi-tenancy that covers millions of tenants
    • Cluster mode needs etcd and object storage running alongside it
    • Authentication is off until you enable it, and root starts with a default password
    • Some 3.0 features, such as snapshots and TEXT fields, are off by default
    Licence
    Apache-2.0 (permissive)
    Stack
    Go / C++
    Databases
    etcd, MinIO or S3-compatible storage
    GitHub
    46k stars · 387 contributors
    Latest release
    v3.0.3 · Oct 14, 2026
    SSO
    Paid only
    Audit logs
    Paid only
    What people say
  3. #3Best if you already run PostgresTested by Geekflare

    pgvector

    Postgres extension that adds vector types and nearest neighbour search to your existing database

    Vectors in ordinary tables next to your data, with joins, transactions and the backups you already have, on almost every managed Postgres. Filtered searches need tuning and there's no built-in sharding.

    Tested Oct 19, 2026, version 0.8.7
    Ready in
    12 s
    Memory in use at idle
    28 MB of 4 GB
    Load and index 100,000 vectors
    2 min 23 s, 852 MB peak
    Recall@10
    95.4%
    Median search
    6.6 ms
    Slowest 5%
    10.1 ms

    Loading with COPY took 11 seconds and the HNSW index 2 minutes 12 seconds. Recall was 95.4% at the default search setting and 98.4% after raising hnsw.ef_search to 100.

    Commands, notes and screenshots

    Best for

    Teams already on Postgres that want vector search without a new database

    Not for

    Very large vector sets that need sharding built in

    • Vectors sit in normal tables with joins, transactions and point-in-time recovery
    • Available on most managed Postgres services
    • Half-precision, binary and sparse vectors for smaller indexes
    • Works with standard Postgres replication and backups
    • Filters apply after the index scan, so filtered queries need tuning
    • Full-precision indexes stop at 2,000 dimensions
    • No built-in sharding; you need Citus or a similar tool
    Licence
    PostgreSQL (permissive)
    Stack
    C (Postgres extension)
    Databases
    PostgreSQL 13+
    GitHub
    23k stars · 27 contributors
    Latest release
    0.8.7 · Oct 1, 2026
    SSO
    Via plugin
    Audit logs
    Via plugin
    What people say
  4. #4Best for built-in embeddings and RAGTested by Geekflare

    Weaviate

    Vector database that stores objects and vectors, with built-in vectorizer modules and hybrid search

    Vectorizer modules, hybrid search, reranking and generative search in one API, with OIDC, roles and audit logs free. Since v1.40 a few features need a paid licence key.

    Tested Oct 19, 2026, version 1.40.1
    Ready in
    6 s
    Memory in use at idle
    43 MB of 4 GB
    Load and index 100,000 vectors
    2 min 55 s, 1,243 MB peak
    Recall@10
    99.3%
    Median search
    4.9 ms
    Slowest 5%
    6.1 ms

    The fastest searches here, at a median of 4.9 ms, with recall tied for best. It was also the slowest to load, because it builds the index as data arrives.

    Commands, notes and screenshots

    Best for

    Teams that want the database to call embedding and generative models for them

    Not for

    Teams that need every feature under one permissive licence

    • Vectorizer modules for local models and many API providers
    • Hybrid search, generative search and reranking in one API
    • OIDC login, RBAC and audit logs in the free edition
    • One shard per tenant, with idle tenants moved to disk or S3
    • Namespaces and some operations features need a paid licence key since v1.40
    • The default HNSW index is held in memory and quantization is off by default
    • Embedded mode is experimental and still runs a separate process
    Licence
    BSD-3-Clause / Weaviate License (open core)
    Stack
    Go
    GitHub
    17k stars · 191 contributors
    Latest release
    v1.40.1 · Oct 13, 2026
    SSO
    Free edition
    Audit logs
    Free edition
    What people say
  5. #5Quickest start for Python prototypesTested by Geekflare

    Chroma

    Open source vector database that runs inside a Python app or as a small server

    A pip install gives you a local database with a default embedding model. Self-hosted Chroma is a single node with no login, and hybrid search is in Chroma Cloud only.

    Tested Oct 19, 2026, version 1.5.9
    Ready in
    9 s
    Memory in use at idle
    10 MB of 4 GB
    Load and index 100,000 vectors
    2 min 3 s, 755 MB peak
    Recall@10
    98.9%
    Median search
    5.6 ms
    Slowest 5%
    7.0 ms

    The least memory during the load, at 755 MB, and quick searches. The server has no login of any kind, so keep it off the public internet.

    Commands, notes and screenshots

    Best for

    Python teams building a RAG prototype or a small internal search tool

    Not for

    Teams that need hybrid search, access control or multi-node scale on their own servers

    • Runs inside a Python process with no separate server
    • Default embedding model runs locally, so you can start without an API key
    • Apache 2.0, and the company says the database will stay open source
    • Official Docker image and templates for AWS, GCP and Azure
    • Hybrid search and sparse vectors are only in Chroma Cloud
    • No built-in authentication since version 1.0
    • No stable release since 1.5.9 in May 2026, only dev builds
    Licence
    Apache-2.0 (permissive)
    Stack
    Rust / Python
    GitHub
    30k stars · 197 contributors
    Latest release
    1.5.9 · May 5, 2026
    SSO
    No
    Audit logs
    No
  6. #6Best embedded option for large data

    LanceDB

    Embedded vector database on the Lance columnar format, with vector, full-text and hybrid search

    Runs inside your app with disk-based indexes on local disk or S3, so big collections don't need big servers. Multi-node serving is in the paid Enterprise edition.

    Best for

    Teams that want embedded vector search over large or multimodal data, stored on disk or S3

    Not for

    Teams that want a shared self-hosted server with users and roles

    • Runs inside your app, with indexes on disk instead of in RAM
    • Tables can live on local disk or in S3, GCS or Azure Blob storage
    • BM25 full-text and hybrid search with rerankers in the free library
    • Product, scalar and RaBitQ quantization
    • Single process only; multi-node serving needs the paid Enterprise edition
    • You schedule index rebuilds and compaction yourself
    • No public prices for the paid edition
    Licence
    Apache-2.0 (open core)
    Stack
    Rust
    GitHub
    12k stars · 263 contributors
    Latest release
    v0.40.0 · Oct 7, 2026
    SSO
    No
    Audit logs
    No
    What people say
  7. #7Best search engine with vector search

    OpenSearch

    Distributed search engine with k-NN vector search, hybrid queries and a free security plugin

    Keyword, vector and hybrid search in one Apache 2.0 engine, with SSO, roles and audit logs at no cost. It's a full JVM cluster to run and tune.

    Best for

    Teams that already run search or logs on OpenSearch and want to add vectors

    Not for

    Small apps that only need a lightweight vector store

    • Apache 2.0 under the Linux Foundation, with no paid edition
    • SSO, roles, document-level security and audit logs are free
    • Hybrid search with score normalisation or reciprocal rank fusion
    • Disk mode cuts vector memory by up to 32 times
    • JVM heap and kernel settings need tuning
    • Models inside the cluster should run on separate ML nodes in production
    • Several engines and index types to choose between
    Licence
    Apache-2.0 (permissive)
    Stack
    Java / Lucene and Faiss
    GitHub
    14k stars · 2.2k contributors
    Latest release
    3.9.0 · Sep 29, 2026
    SSO
    Free edition
    Audit logs
    Free edition
  8. #8Best for custom ranking at scale

    Vespa

    Search and ranking engine that combines vectors, text and structured data in one query

    Text, vectors, filters and machine-learned ranking in one query, on a cluster that rebalances itself. Expect a learning curve, and self-hosted installs have no user accounts.

    Best for

    Teams building large search, RAG or recommendation systems that need custom ranking

    Not for

    Small projects that only need a simple vector store

    • Text, filters and vector search in one query
    • Embedding models run inside the cluster
    • Clusters rebalance and heal themselves when nodes change
    • Ships new releases several times a week
    • Self-hosted installs have no built-in user accounts or roles
    • Schemas and application packages take time to learn
    • The Kubernetes operator is an enterprise feature
    Licence
    Apache-2.0 (permissive)
    Stack
    Java / C++
    GitHub
    7.1k stars · 217 contributors
    Latest release
    v8.763.13 · Oct 5, 2026
    SSO
    No
    Audit logs
    No
  9. #9Best for low-latency, in-memory search

    Redis

    In-memory data store with vector sets and a query engine for vector, full-text and hybrid search

    Vector sets and hybrid search in the Redis many teams already run for caching, under AGPLv3. Everything sits in RAM, and the licence has changed twice since 2024.

    Best for

    Teams that already use Redis and want semantic caching, agent memory or fast similarity search

    Not for

    Very large vector collections that won't fit in memory

    • Vector sets add similarity search as a native data type
    • FT.HYBRID merges BM25 and vector results with RRF or weights
    • Vectors are stored as int8 by default, with a binary option
    • ACL users can be limited to commands and key prefixes
    • Vectors and indexes are held in RAM; SSD tiering is paid
    • The licence changed in 7.4 and again in 8.0
    • The best SVS-VAMANA compression is not in the open source build
    Licence
    AGPL-3.0 / SSPL-1.0 / RSALv2 (copyleft)
    Stack
    C
    GitHub
    77k stars · 962 contributors
    Latest release
    8.10.2 · Sep 17, 2026
    SSO
    No
    Audit logs
    No
    What people say

More vector databases, extensions and libraries

Search engines that added vectors, other Postgres extensions, embedded databases and the libraries many of these are built on.

SoftwareLicenceTypeGitHub starsLatest release
Elasticsearch
Distributed search and analytics engine with dense and sparse vector search
AGPL-3.0 / SSPL-1.0 / Elastic-2.0
Open core
Search engine with vector search78k(Actively maintained)Oct 2026
pgvectorscale
Postgres extension from Tiger Data that adds a disk-based DiskANN index and binary quantization on top of pgvector
PostgreSQL
Permissive
Postgres extension3.1k(Actively maintained)Sep 2026
VectorChord
Postgres extension from TensorChord for large vector indexes, using IVF with RaBitQ compression, compatible with pgvector
AGPL-3.0 or ELv2
Copyleft
Postgres extension1.8k(Actively maintained)Feb 2026
Typesense
Typo-tolerant search engine that keeps its index in memory, with vector, hybrid and built-in embedding search
GPL-3.0
Copyleft
Search engine with vector search27k(Actively maintained)Apr 2026
Meilisearch
Search engine API with typo tolerance, filters and hybrid keyword plus vector search
MIT and BUSL-1.1
Open core
Search engine with vector search60k(Actively maintained)Oct 2026
Manticore Search
SQL search database for full-text, vector and hybrid search, with a MySQL-compatible protocol and replication
GPL-3.0-or-later
Copyleft
Search engine with vector search12k(Actively maintained)Sep 2026
Apache Solr
Lucene-based search server with dense vector fields, HNSW search, quantization and keyword search in one engine
Apache-2.0
Permissive
Search engine with vector search1.7k(Actively maintained)Mar 2026
Apache Cassandra
Distributed wide-column database that added a vector type and ANN search on storage-attached indexes in version 5.0
Apache-2.0
Permissive
Distributed database with vector search10k(Actively maintained)Aug 2026
Infinity
Database from the RAGFlow team for hybrid search over dense vectors, sparse vectors, multi-vectors and full text
Apache-2.0
Permissive
Vector database4.7k(Actively maintained)Oct 2026
Vald
Distributed vector search engine for Kubernetes, built on the NGT and Faiss libraries
Apache-2.0
Permissive
Distributed vector search engine1.7k(Actively maintained)Aug 2026
HelixDB
Graph database with vector and BM25 search, written in Rust and stored on object storage, with an embedded mode
Apache-2.0
Permissive
Graph-vector database6.2k(Actively maintained)Oct 2026
txtai
Python embeddings database that combines dense and sparse vector indexes, a graph and SQL storage, with RAG and agent workflows on top
Apache-2.0
Permissive
Embedded vector database and AI framework13k(Actively maintained)Oct 2026
Zvec
In-process vector database from Alibaba that runs inside your application, with vector, full-text and hybrid search
Apache-2.0
Permissive
Embedded vector database16k(Actively maintained)Aug 2026
sqlite-vec
SQLite extension that adds vector search through vec0 virtual tables, written in C with no dependencies
MIT OR Apache-2.0
Permissive
SQLite extension8.2k(Actively maintained)Mar 2026
Faiss
Meta's C++ and Python library for similarity search and clustering of dense vectors, with GPU support
MIT
Permissive
Vector search library41k(Actively maintained)Sep 2026
USearch
Single-header C++ HNSW vector search library with bindings for Python, JavaScript, Rust, Java, Swift, C#, Go and more
Apache-2.0
Permissive
Vector search library4.3k(Actively maintained)Oct 2026
  • Actively maintained
  • Slowing: last release 1 to 2 years ago
  • Stale: no release in over 2 years

Not included, and why

Hosted-only services, projects their maintainers have stopped or replaced, and one whose public code no longer matches what it ships.

  • Pinecone, turbopuffer and Zilliz Cloud: Hosted services, not open source. Zilliz Cloud is the managed version of Milvus.
  • MongoDB Atlas Vector Search: Part of MongoDB Atlas. The self-managed MongoDB server is under the SSPL, which isn't an open source licence.
  • Marqo: Its README says the open source project is deprecated and will no longer receive updates.
  • pgvecto.rs: Its authors replaced it with VectorChord and ask users to migrate.
  • Deep Lake: The public code hasn't changed since February 2026, while newer builds keep shipping on PyPI without matching source.
  • hnswlib: A search library rather than a database, and its pip package hasn't been updated since December 2023.
  • Annoy and MyScaleDB: No release since 2023 for Annoy and since October 2024 for MyScaleDB.

How to choose

Start with what you already run

If your data is in Postgres, pgvector keeps vectors next to it and needs no new system. If you run OpenSearch, Elasticsearch or Redis, each now does vector search. A dedicated vector database earns its place when you need better filtering, larger collections or features those don't have.

Size memory for the index

Most of these keep the HNSW index in RAM. 100,000 vectors of 1,536 dimensions are about 600 MB before the index, so a few million need a large server. Quantization or a disk-based index, as in Milvus, Qdrant, LanceDB and Weaviate, cuts that a lot.

Check what's free when you self-host

Several projects keep part of their features for a paid edition or their cloud, such as hybrid search in Chroma, distributed serving in LanceDB, and namespaces in Weaviate. Qdrant, Milvus and OpenSearch keep access control free, and OpenSearch also has free SSO.

Plan for multi-tenancy early

If each customer's data must stay apart, pick a database with a tenant feature, such as Qdrant, Milvus, Weaviate or Chroma. Adding it to a shared collection later means migrating every vector.

How we evaluate

No vendor influences these pages. A vendor can pay for a Featured placement, labelled Sponsored, which never changes a rank or a review.

What qualifies
Databases, extensions and search engines with vector search under an OSI open source licence, or a clearly labelled open-core or source-available one, with a release or commit in the last 12 months and 1,000+ GitHub stars. Hosted-only services and projects their own maintainers have deprecated are not considered. Search libraries without a server, such as Faiss, are listed but not ranked.
Where we look
GitHub, the pages that rank for each category, so both established and newer projects are considered.
How we rank
Fit for business and technical teams: maintenance activity, self-hosting effort, licence terms, and which features the paid editions lock. Payment never changes a ranking.
Where the data comes from
Stars, releases, contributors and licences come from GitHub. Editions, pricing and requirements come from each software's own docs.
Hands-on testing
We install several of the picks in each category on a cloud Ubuntu 24.04 server (2 vCPU, 4 GB RAM) with Docker, and record install time and idle memory.
Questions

Frequently asked questions

For most teams, Qdrant, because filtering, hybrid search, quantization and access control are all free and it runs as one light service. For very large collections, Milvus, and if you already run Postgres, pgvector.

For up to a few million vectors on a server you already run, pgvector is usually enough and saves running a second database. Dedicated databases do better with heavy filtering, hundreds of millions of vectors, and built-in sharding and multi-tenancy.

Self-hosted Chroma runs as a single node with the index in memory and no built-in login, and its last stable release was in May 2026. It suits prototypes and small internal tools, while Chroma Cloud is the option its makers offer for larger production use.

Qdrant, Milvus, Chroma, pgvector, Vespa and OpenSearch are under Apache 2.0 or the PostgreSQL License. Weaviate and LanceDB keep some features for paid editions, and Redis is under a choice of AGPLv3 or two source-available licences.

Yes. LanceDB and Chroma run inside a Python app, Milvus Lite and Qdrant Edge are embedded versions of their servers, and sqlite-vec and Zvec are small libraries for local apps.