Skip to content

Vector databases compared: choose by data, filters and operations

Start from where your data already lives and who will run the database. pgvector keeps vectors inside Postgres; Pinecone is a managed serverless service; Weaviate and Qdrant are open-source engines with hybrid search and managed clouds; Milvus scales from a local library to a distributed cluster. Test recall on your own filtered queries before choosing.

Documentation checked . Compare workflows

Choose by workflow

Documented workflow links lead to primary sources. Fit and pilot questions are editorial recommendations. On small screens, scroll the table horizontally to read every column.

Workflow fit and what to verify before adopting each tool
Tool and sourceDocumented workflowConsider whenVerify in your pilot
pgvectorA Postgres extension that stores vectors beside relational data; exact search by default, with HNSW or IVFFlat indexes for approximate search.Your records and access rules already live in Postgres and you want joins, transactions and backups in one place.Recall after you add an approximate index, and filtered queries, which can return fewer rows unless iterative index scans are enabled.
PineconeA managed serverless vector database on AWS, Google Cloud and Azure; records are split into namespaces and queried with dense or sparse vectors and metadata filters.You want a managed service and do not want to run index infrastructure yourself.Cloud and region placement, how namespaces map to your tenants, and how you would export data if you move.
WeaviateAn open-source vector database that stores objects with their vectors; hybrid search fuses vector and BM25F keyword results.You want semantic and keyword search in one query, self-hosted or on Weaviate Cloud.How the hybrid weighting behaves on your queries, and which license covers the code you deploy.
QdrantAn Apache 2.0 vector search engine with HTTP and gRPC APIs, dense and sparse vectors, full-text search and payload filters.Metadata filters are central to your queries, and you may self-host or use Qdrant Cloud.That payload indexes exist on the fields you filter by; the documentation recommends creating them before loading data.
MilvusAn Apache 2.0 vector database with three deployment modes: Milvus Lite as a Python library, Standalone on one machine and Distributed on Kubernetes.You expect very large collections and want the same client API from a laptop prototype to a cluster.The operating cost of Distributed mode, and which features you rely on behave the same in Lite.

Start from where your data lives

A vector database stores embeddings and returns the nearest ones to a query vector. Retrieval quality depends less on that core operation than on what surrounds it: which records a user may see, how metadata filters interact with the index, whether keyword matches count, and how quickly new data becomes searchable. Ask first whether vectors should live next to the data they describe or in a separate system you keep in sync.

The vector database vs knowledge graph explainer covers when similarity search is the right retrieval method at all. This guide assumes you have decided you need one and are choosing a product. The documented workflows in the table come from the linked primary documentation, checked October 24, 2026. The fit questions and the pilot are our editorial recommendations. The five options are not a complete inventory or a ranking, and this guide reports no measured performance or latency.

Compare where vectors sit and who runs them

pgvector: the pgvector README describes an open-source Postgres extension, so vectors share a table with the rest of a record and keep Postgres transactions, joins and point-in-time recovery. By default it runs exact nearest neighbor search, which gives perfect recall. Adding an HNSW or IVFFlat index trades some recall for speed, and the README notes that HNSW has a better speed-recall tradeoff but builds more slowly and uses more memory. With an approximate index, filters apply after the index scan, so a selective WHERE clause can return fewer rows than requested unless you enable iterative index scans.

Pinecone: the architecture documentation describes a managed serverless service on AWS, Google Cloud and Azure, organized into projects, indexes and namespaces, with separate control and data planes and data kept in object storage. The indexing overview covers dense and sparse indexes and metadata filters. You do not run servers. In exchange, cloud placement, export and pricing terms become vendor questions to settle before the pilot ends.

Weaviate: the documentation describes an open-source vector database that stores objects with their vectors and supports semantic search, hybrid search, RAG and agent workflows. Its hybrid search page explains that results from vector search and BM25F keyword search are fused, with an alpha parameter weighting the two. The repository license places files under BSD-3-Clause or the Weaviate License, so check which applies to what you deploy.

Qdrant: the overview describes an open-source engine that runs self-hosted or on Qdrant Cloud, with HTTP and gRPC APIs, dense and sparse vectors and full-text search. Its filtering documentation covers conditions on payload fields. Qdrant’s docs recommend creating payload indexes on filtered fields before loading data. The repository license is Apache 2.0.

Milvus: the deployment overview lists Milvus Lite, a Python library for prototypes, Milvus Standalone on a single machine and Milvus Distributed on Kubernetes, all behind the same client API, with Zilliz Cloud as a managed option. The repository describes CPU and GPU acceleration and is Apache 2.0 licensed. Distributed mode has the most moving parts of the five options here, so price in who will operate it.

Run a filtered-recall pilot

Suggested pilot, not a reported benchmark: load one real corpus with its metadata into each candidate, using the same embedding model. Write down the correct results for a set of real queries before you run any of them.

Pilot queryWhat to check
A broad question with no filterRecall against exact search on the same vectors
The same question filtered to one small tenantWhether you still get the requested number of results, and whether any belong to another tenant
A query that names a product code or error stringWhether keyword or hybrid search finds the exact match vector search misses
A record updated a minute agoHow long until the new version is searchable and the old one is gone
A deleted recordThat it stops appearing, including in cached or replicated results
A full re-embedding with a new modelHow long reindexing takes and whether queries keep working during it

Run the filtered queries at the selectivity you expect in real use. A filter that keeps 1 percent of records stresses an approximate index differently from one that keeps half of them.

Count the systems you will keep in sync

Every separate database adds a copy of the data to secure, back up and update. A dedicated vector database can be the right call for scale or features. It also means deletes, permission changes and re-embeddings have to reach two systems. If you add one, write down which system is the source of truth and how a delete reaches every copy. For retrieval design beyond the database, see retrieval-augmented generation and semantic search.

Where the interviews fit

Oracle’s Richmond Alake described the cost of splitting retrieval across several specialized stores, ending with four databases to manage and synchronize. Weaviate CEO Bob van Luijt described agents writing results back into the database. Both are the guests’ views. Van Luijt leads the company that makes Weaviate, one of the options above, and Alake works at Oracle, which sells its own database. Episode 53 was sponsored by Galileo, as Conor says when he thanks the show’s presenting sponsors. Episode 8 includes a Galileo ad read, and Conor refers to “our end at Galileo” earlier in the conversation.

The conversations behind the decision

These guest perspectives explain the engineering problem. The linked documentation above supports the current product descriptions.

Now you have four databases that you have to manage and synchronize data across them.

Richmond Alake, Oracle · Read the transcript passage

The agents can also put stuff back inside the database

Bob van Luijt, Weaviate · Read the transcript passage

Keep exploring

RAG & RetrievalAI Infrastructure

All tool comparison guides · AI ecosystem map