In March 2026, Qdrant raised a $50M Series B led by AVP, pushing its total funding to roughly $87.8M (Qdrant blog). A few months earlier, the company that arguably created the "vector database" category as a product, Pinecone, was reported to have hired bankers to explore a sale, and it swapped out its founder-CEO for a new one from Google (The Information, TechTarget). At the same time, AWS, Google Cloud, Databricks, Snowflake, and MongoDB have all bolted vector search directly onto their existing databases, and Postgres can do it with a free extension.
That is the real story of vector databases in 2026: the pure-play vendors are being squeezed from both sides, so they are differentiating hard on performance, cost, and hybrid search instead of just "we store vectors." For a developer building retrieval-augmented generation (RAG) or an AI agent that needs long-term memory, this is good news. The tools are better and cheaper than they were a year ago. It also means the "just use Pinecone" default answer from 2023 deserves a second look.
This guide compares the five options that actually come up in real architecture decisions: Pinecone, Weaviate, Qdrant, Milvus, and pgvector. It covers what each is good at, what is annoying about it, current pricing, and a decision framework so you can stop reading comparison posts and pick one.
What a Vector Database Actually Does
A vector database stores embeddings, which are lists of floating-point numbers that a model like OpenAI's text-embedding-3-large produces from text, images, or audio. Similar content produces vectors that sit close together in high-dimensional space. When a user asks a question, you embed the question and ask the database for the nearest stored vectors. That is the "retrieval" half of RAG.
The hard part is doing that search fast over millions or billions of vectors. Comparing a query against every stored vector (an exact k-nearest-neighbor scan) is accurate but slow. So these systems use approximate nearest neighbor (ANN) indexes, most commonly HNSW (Hierarchical Navigable Small World graphs), which trade a tiny bit of recall for enormous speedups. The differences between products come down to which indexes they support, how they let you filter by metadata, how they cut memory cost through quantization, and whether they run on your machine or theirs.
Three Ways to Buy Vector Search
Before the individual tools, it helps to see the market split into three shapes, because it narrows your choice fast:
- Fully-managed and proprietary (Pinecone): you never touch infrastructure, but you cannot self-host, and you pay per usage.
- Open-source with a managed cloud (Weaviate, Qdrant, Milvus): run it free on your own hardware, or pay the vendor to run it for you. This is where most of the 2026 innovation is happening.
- A feature of a database you already run (pgvector for Postgres): no new system to operate, vectors live next to your relational data.
Quick Comparison
| Tool | Model | License | ANN Index | Native Hybrid Search | Pricing | Best For |
|---|---|---|---|---|---|---|
| Pinecone | Managed only | Proprietary | Undisclosed | Yes (sparse-dense) | Free tier; paid from $20/mo, then usage-based | Ship RAG fast with zero ops |
| Weaviate | Open source + cloud | BSD-3-Clause | HNSW, flat, disk | Yes (best-in-class) | Free tier + self-host; cloud Flex from $45/mo | AI-native apps, multi-tenancy |
| Qdrant | Open source + cloud | Apache 2.0 | HNSW | Yes | Free 1GB cloud tier; paid by resources | Low latency, predictable cost |
| Milvus | Open source + cloud | Apache 2.0 | HNSW, IVF, DiskANN, GPU | Yes | Free self-host; Zilliz Cloud free tier, serverless from $0 | Billion-scale, GPU acceleration |
| pgvector | Open source (Postgres ext.) | PostgreSQL License | HNSW, IVFFlat | Manual | Free; you only pay for your Postgres | You already run Postgres |
Pinecone

Pinecone is the fully-managed, closed-source option, and for a long time it was the default. Its 2024 serverless architecture separates storage from compute so you are not paying for idle pods, and it genuinely delivers on the "you never think about infrastructure" promise. You create an index, upsert vectors, and query. Namespaces give you clean multi-tenancy, and it supports metadata filtering and sparse-dense hybrid search.
What it does well: Time to production is the shortest of anything here. There is no index to tune, no cluster to size, no version to upgrade. For a team that wants to ship a RAG feature this week and not hire an infra engineer, that is worth a lot.
What it doesn't do: You cannot self-host, so there is no escape hatch if pricing or terms change. The index internals are a black box, so you cannot swap algorithms or tune recall the way you can with the open-source options. And the business context is worth knowing: Pinecone's last disclosed raise was a $100M Series B in April 2023 at a $750M valuation (Pinecone newsroom), and in 2025 it reportedly explored a sale and changed CEOs. The new CEO has said a sale is not the plan and that the roadmap is moving "up the stack" toward agentic workflows. None of that breaks your app, but lock-in to a vendor exploring strategic options is a real consideration.
Pricing: The Starter tier is free (up to 2GB storage, 1M read units and 2M write units per month). Above that, Builder is a flat $20/month, Standard has a $50/month minimum, and Enterprise a $500/month minimum, each pay-as-you-go beyond the minimum. On Standard, usage runs roughly $16-18 per million read units, $4-4.50 per million write units, and $0.33/GB/month for storage; Enterprise unit rates are higher (Pinecone pricing). The usage-based model is convenient but hard to forecast for a read-heavy workload, so model your query volume before committing.
Weaviate

Weaviate is an open-source database written in Go (BSD-3-Clause licensed) with a managed cloud and bring-your-own-cloud options. Its signature strength is hybrid search: it combines dense vector similarity with BM25 keyword scoring and fuses the results natively, which in practice retrieves better than pure vector search for a lot of real queries where exact terms matter (product codes, names, error strings).
The latest release, v1.37.0 (April 16, 2026), added a built-in MCP server in preview so AI coding agents can talk to Weaviate through the Model Context Protocol directly, alongside diversity/MMR search, query profiling, and incremental backups (release notes). Weaviate also ships built-in vectorizer and reranker modules, so it can call your embedding model for you rather than making you embed everything client-side.
What it does well: Hybrid search out of the box, strong multi-tenant isolation (useful if you are a SaaS storing each customer's data separately), and a genuinely AI-native feature set with modules for embedding and reranking.
What it doesn't do: The module system adds configuration surface, and raw single-node latency generally trails Qdrant.
Pricing: Self-hosting the open-source engine is free. Weaviate Cloud has an always-free tier (100,000 objects, 1GB memory, 10GB disk), then Flex starts at $45/month pay-as-you-go (billed per vector dimension from $0.00465 per 1M dimensions, plus storage from $0.12/GiB), and Premium starts at $400/month on a prepaid contract with lower per-dimension rates (Weaviate pricing). This resource-based model replaced the old $25/month serverless tier that was retired in October 2025, and it stung some small projects.
Qdrant

Qdrant is an open-source database written in Rust (Apache 2.0) that has become the go-to when latency and predictable cost matter most. Being in Rust means no garbage-collection pauses and SIMD-optimized distance calculations, and the company leaned into that with its March 2026 Series B. It reports over 250 million package downloads and 29,000+ GitHub stars, with production users including Canva, HubSpot, and Bosch.
The v1.18 "TurboQuant" release (May 11, 2026) added a quantization method derived from Google Research that claims roughly the same recall as scalar quantization at about half the memory, plus per-collection memory monitoring and the ability to add or remove named vectors without recreating a collection (Qdrant 1.18 blog). That sits on top of an already deep quantization toolkit (scalar/int8, product, and binary) and filterable HNSW, which lets you combine tight metadata filters with vector search without wrecking recall.
What it does well: Low p99 latency, a strong quantization story for shrinking memory bills, excellent metadata filtering, and cloud pricing based on the infrastructure you provision (vCPU, RAM, disk) rather than per-query. That last point makes cost flat and predictable no matter how many queries you throw at it.
What it doesn't do: Fewer built-in AI modules than Weaviate, so you bring your own embeddings. The enterprise feature set is younger than the incumbents'. Qdrant also publishes its own vector-db-benchmark showing it beating competitors on requests per second and latency; the methodology is open source, but treat any single-vendor benchmark as directional rather than gospel, and note parts of that page have not been refreshed recently.
Pricing: The free managed tier gives you a 1GB cluster (0.5 vCPU, 1GB RAM) with no credit card and no time limit, which is enough to prototype a real RAG app. Paid clusters are priced on resources, and self-hosting is free (Qdrant pricing).
Milvus

Milvus is the open-source (Apache 2.0) heavyweight, built by Zilliz for billion-scale workloads with a distributed architecture that separates compute from storage. If your corpus is genuinely enormous or you want GPU-accelerated indexing, this is the one. It supports the widest range of indexes here (HNSW, IVF variants, DiskANN, and GPU indexes including NVIDIA's CAGRA), which no other tool on this list matches.
Milvus 2.6 shipped as open source in June 2025 and reached general availability on Zilliz Cloud on January 20, 2026, with the theme of cutting cost at scale (PRNewswire). Zilliz reports (these are vendor numbers, so read them as claims) that 2.6's RaBitQ 1-bit quantization cuts memory up to 72%, tiered storage cuts storage cost substantially, and its BM25 full-text search runs several times faster than Elasticsearch (Milvus 2.6 blog).
What it does well: Scale and index flexibility. Billions of vectors, GPU indexing with CAGRA, and more knobs than anything else here. If you have outgrown a single node, Milvus is built for exactly that.
What it doesn't do: The distributed architecture is operationally heavy. Self-hosting means running etcd, an object store, and multiple coordinator and worker components, which is a lot of moving parts for a small project. Most teams that adopt Milvus end up on Zilliz Cloud specifically to avoid that operational burden. For a few million vectors, it is overkill.
Pricing: Milvus is free to self-host (you pay for infrastructure). Zilliz Cloud has a free tier (5GB storage, up to 5 collections), a serverless tier that starts at $0 and bills around $4 per million vCUs, and dedicated clusters from roughly $126/GB/month. As of January 2026, storage is $0.04/GB/month, an 87% cut from the prior $0.30 (Zilliz pricing).
pgvector

pgvector is not a database at all. It is an open-source extension (PostgreSQL License) that adds a vector column type and similarity search to Postgres. For a huge number of applications, this is the correct answer and the one people skip because it feels too boring. If you already run Postgres, you can keep your embeddings right next to your relational data, join across them, wrap them in the same transaction, and add zero new infrastructure.
Version 0.8.0 added iterative index scans, which fixed the long-standing over-filtering problem where a strict SQL WHERE clause combined with vector search could return too few rows. The most recent releases matter for a different reason: pgvector 0.8.2 (February 26, 2026) was a security release fixing a buffer overflow in parallel HNSW index builds, tracked as CVE-2026-3172, so if you are self-managing Postgres, upgrade (PostgreSQL.org). The 0.8.5 build reached Debian testing around July 11, 2026.
What it does well: One system to operate, full SQL (joins, filters, transactions) alongside vectors, and it is free. For small-to-medium RAG apps, the simplicity is hard to beat, and every managed Postgres (RDS, Aurora, Supabase, Neon, Cloud SQL) supports it.
What it doesn't do: It does not scale to billions of vectors as gracefully as Milvus or Qdrant, and high-recall-plus-high-QPS at large scale lags the purpose-built engines. Hybrid search is possible by combining it with Postgres full-text search, but it is manual assembly rather than a turnkey feature. The companion extension pgvectorscale (from Timescale) adds a StreamingDiskANN index and closes some of the performance gap if you need it.
Rule of thumb: pgvector is the right choice until you can prove you have outgrown a single large Postgres node. Many teams never do.
How to Choose a Vector Database
Work through these in order and you will usually land on the answer in a couple of minutes:
- Are you already running Postgres and have fewer than a few million vectors? Start with pgvector. Do not add infrastructure you do not need yet.
- Do you want zero operational work and can accept usage-based pricing and vendor lock-in? Pinecone. It is the fastest path from nothing to a working RAG endpoint.
- Is keyword-plus-vector hybrid search central to your product, or are you a multi-tenant SaaS? Weaviate. Its native hybrid fusion and tenant isolation are the strongest here.
- Do you need the lowest possible query latency and flat, predictable cost at scale? Qdrant. Resource-based pricing and Rust performance make it easy to reason about.
- Are you storing hundreds of millions or billions of vectors, or do you want GPU-accelerated search? Milvus (most likely via Zilliz Cloud so you are not running the cluster yourself).
A practical middle path many teams take: prototype on pgvector or a free managed tier, prove the retrieval quality, then migrate to a dedicated engine only when you hit a concrete limit (latency, scale, or cost). Migrating is mostly a matter of re-upserting your vectors, since the embeddings themselves are portable.
Understanding the Retrieval Under the Hood
Whatever database you pick, the core operation is the same similarity math. This runnable Python snippet shows what "nearest neighbor" means before an index makes it fast, using cosine similarity, the most common metric for text embeddings. It runs locally with just NumPy (pip install numpy):
Pythonimport numpy as np def cosine_similarity(a, b): a, b = np.array(a), np.array(b) return float(np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))) # A tiny 3-dimensional stand-in for real embeddings (which are 768-3072 dims). query = [0.11, 0.92, 0.34] docs = { "doc-a": [0.10, 0.90, 0.30], "doc-b": [0.88, 0.05, 0.42], } ranked = sorted(docs.items(), key=lambda kv: cosine_similarity(query, kv[1]), reverse=True) for doc_id, vec in ranked: print(f"{doc_id}: {cosine_similarity(query, vec):.4f}")
Output:
doc-a: 0.9995
doc-b: 0.2964
doc-a wins because its vector points in nearly the same direction as the query. A vector database does exactly this comparison, except over millions of vectors and through an ANN index so it does not have to score every single one.
If you are on Postgres, the equivalent with pgvector is plain SQL. The <=> operator is cosine distance (so smaller is closer), and an HNSW index keeps it fast:
sqlCREATE EXTENSION IF NOT EXISTS vector; CREATE TABLE documents ( id bigserial PRIMARY KEY, content text, embedding vector(1536) -- match your embedding model's dimensions ); CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops); -- Retrieve the 5 nearest documents to a query embedding SELECT id, content FROM documents ORDER BY embedding <=> '[0.11, 0.92, 0.34, ...]' LIMIT 5;
That is the whole idea. Everything the dedicated databases add (quantization, hybrid search, distributed indexing, multi-tenancy) is in service of doing this reliably at a scale where a single ORDER BY would fall over.
Related DevToolLab Tools
- Cosine Similarity Calculator - Compute cosine similarity, dot product, and Euclidean distance between two vectors to sanity-check your embedding math before it goes near a database.
- AI Token Counter - Estimate token counts and cost before you embed a large corpus, since chunk size drives both your bill and your recall.
- cURL to Code Converter - Turn a Pinecone or Qdrant REST example from the docs into ready-to-run fetch, Axios, or Python code.
- JSON Viewer - Explore the nested query-result payloads these APIs return without squinting at a wall of minified JSON.
- Docker Compose Generator - Scaffold a
docker-compose.ymlto spin up self-hosted Qdrant, Weaviate, or Milvus locally. - SQL Formatter & Beautifier - Clean up those pgvector similarity queries once the
WHEREclauses and joins start stacking up.
Conclusion
There is no single best vector database in 2026, just clear best-fit answers: pgvector if you already run Postgres, Pinecone to ship fastest with zero ops, Weaviate for hybrid search and multi-tenancy, Qdrant for low latency and predictable cost, and Milvus (via Zilliz Cloud) for billion-scale or GPU workloads. Vector search is becoming a feature more than a category, which is why every vendor is shipping quantization and cheaper tiers so fast. Pick for your scale today, prove your retrieval quality on real data, and only move up when you hit a concrete limit.
