
TL;DR
pgvector, Pinecone, Qdrant, Weaviate, Chroma, Milvus, and Turbopuffer compared on hosting model, filtering, scale, and cost for RAG.
Direct answer
pgvector, Pinecone, Qdrant, Weaviate, Chroma, Milvus, and Turbopuffer compared on hosting model, filtering, scale, and cost for RAG.
Best for
Developers comparing real tool tradeoffs before choosing a stack.
Covers
Verdict, tradeoffs, pricing signals, workflow fit, and related alternatives.
Last updated: July 14, 2026
Every RAG pipeline and every tool-using agent eventually needs the same piece of infrastructure: a place to store embeddings and retrieve the nearest ones fast. The vector database market has settled into a few durable options, and they split along a real fault line - Postgres-native versus purpose-built, and hosted versus self-managed. This is a practical, source-linked comparison, not a benchmark leaderboard.
If you're new to the underlying technique, see our what is RAG explainer first, and our AI agent architecture piece for how retrieval fits into a larger agent loop.
Fully managed only: Pinecone is serverless-only - there is no self-hosted Pinecone binary, per its architecture docs. You trade infrastructure ownership for zero-ops scaling.
Open source with a managed option: Qdrant, Weaviate, Milvus (via Zilliz), and Chroma (via Chroma Cloud) all publish source under permissive-ish licenses (see each project's LICENSE file on GitHub) and let you run the same engine yourself or pay for a hosted control plane. This is the most flexible position - you can prototype self-hosted and migrate to managed later without a rewrite.
Postgres-native: pgvector is not a database, it is an extension. If you already run Postgres (via Neon, Supabase, or your own instance), you add vector columns and indexes to existing tables instead of standing up a new system. That means one fewer service to operate, one connection pool, and transactional consistency between your relational data and your embeddings - at the cost of scaling only as far as Postgres itself scales.
Storage-backed: Turbopuffer's design explicitly separates storage (object storage like S3) from compute, per its architecture writeup, which is why its cost model looks different from index-in-RAM engines.
Metadata filtering (e.g., "only chunks from these tenant IDs" or "only docs published after X") is often the deciding factor for agent and multi-tenant RAG use cases, more than raw recall numbers.
WHERE clauses combined with the vector operator, so you get the full expressiveness of Postgres predicates, joins, and existing row-level security, documented in the pgvector README.where metadata filters per the Chroma usage guide.If your app needs row-level security tied to existing user/tenant tables, pgvector's SQL-native filtering is the simplest mental model because it is the same access control you already write for the rest of your app.
Newsletter
Get the weekly deep dive
Tutorials on Claude Code, AI agents, and dev tools, delivered free every week.
From the archive
Jul 8, 2026 • 7 min read
Jul 8, 2026 • 7 min read
Jul 8, 2026 • 6 min read
Jul 8, 2026 • 5 min read
Scale considerations split into two questions: how many vectors, and how much query concurrency.
Pricing structures differ enough that "which is cheaper" depends entirely on your access pattern:
A fair, non-hype summary of when each makes sense:
None of these is universally "best" - the right choice depends on whether you already run Postgres, how much operational overhead your team can absorb, and whether your workload is read-heavy and hot or cold and storage-heavy. Read the docs and pricing pages linked above before committing, since both terms and tiers change.
pgvector is used in production by teams running tens of millions of vectors, but it inherits Postgres's scaling characteristics. It is documented to support both exact and approximate indexing (IVFFlat and HNSW) - see the pgvector README for index types and tuning guidance. If you need sharded, horizontally distributed scale beyond a single Postgres cluster, a purpose-built distributed engine like Milvus may fit better.
Not necessarily. If your data already lives in Postgres and your scale is moderate, pgvector lets you add vector search without introducing a new service, connection pool, or sync job. Teams typically move to a dedicated vector database when they need distributed scale, specialized ANN index tuning beyond what pgvector offers, or built-in hybrid search features.
Weaviate ships hybrid search combining BM25 and vector similarity natively, per its hybrid search docs. Qdrant and Milvus also support combining sparse and dense vectors for hybrid retrieval - check each project's current docs for the specific API, since hybrid search features have been actively evolving across the ecosystem.
It depends on your team's operational capacity. Managed options (Pinecone, Qdrant Cloud, Weaviate Cloud, Zilliz Cloud, Chroma Cloud) remove index tuning, scaling, and backup work, but cost more per unit of data than self-hosting the open-source equivalents. If you have DevOps capacity and predictable load, self-hosting Qdrant, Weaviate, or Milvus can be materially cheaper; if you want to ship without maintaining another stateful service, managed is usually the better trade.
| Source | URL | Last Verified |
|---|---|---|
| pgvector GitHub | github.com/pgvector/pgvector | July 14, 2026 |
| Pinecone Documentation | docs.pinecone.io | July 14, 2026 |
| Pinecone Pricing | pinecone.io/pricing | July 14, 2026 |
| Qdrant Documentation | qdrant.tech/documentation | July 14, 2026 |
| Qdrant Pricing | qdrant.tech/pricing | July 14, 2026 |
| Weaviate Documentation | weaviate.io/developers/weaviate | July 14, 2026 |
| Weaviate Pricing | weaviate.io/pricing | July 14, 2026 |
| Chroma Documentation | docs.trychroma.com | July 14, 2026 |
| Milvus Documentation | milvus.io/docs | July 14, 2026 |
| Zilliz Cloud Pricing | zilliz.com/pricing | July 14, 2026 |
| Turbopuffer Documentation | turbopuffer.com/docs | July 14, 2026 |
| Neon pgvector | neon.tech/docs/extensions/pgvector | July 14, 2026 |
| Supabase pgvector | supabase.com/docs/guides/database/extensions/pgvector | July 14, 2026 |
Read next
The orchestrator is the most important model choice in an agent fleet. A fair head-to-head between Fable 5 and Opus 4.8 for that role, with a decision matrix by run length, budget, compliance, and refusal-handling tolerance.
8 min readA deep comparison of Codex's new /goal loop and Claude managed agents outcomes, with practical workflow examples, control tradeoffs, and migration guidance for long-running tasks.
18 min readComparing LLMs by token pricing alone can lead you to choose worse, more expensive models. Cost per task tells the real story.
6 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Most popular LLM framework. 100K+ GitHub stars. Chains, RAG, vector stores, tool use. LangGraph adds stateful multi-agen...
View ToolGives AI agents access to 250+ external tools (GitHub, Slack, Gmail, databases) with managed OAuth. Handles the auth and...
View ToolOpen-source Firebase alternative built on Postgres. Auth, real-time subscriptions, storage, edge functions, and pgvector...
View ToolLightweight Python framework for multi-agent systems. Agent handoffs, tool use, guardrails, tracing. Successor to the ex...
View ToolSpec out AI agents, run them overnight, wake up to a verified GitHub repo.
View AppCompare AI coding agents on reproducible tasks with scored, shareable runs.
View AppPlan browser automation flows as inspectable product journeys before agents run them.
View AppDeep comparison of the top AI agent frameworks - LangGraph, CrewAI, Mastra, CopilotKit, AutoGen, and Claude Code.
AI AgentsConfigure Claude Code for maximum productivity -- CLAUDE.md, sub-agents, MCP servers, and autonomous workflows.
AI AgentsWhat MCP servers are, how they work, and how to build your own in 5 minutes.
AI Agents
In this video, I demonstrate how to use VectorShift to build AI applications and workflows. By applying ideas from Anthropic's blog post 'Building Effective Agents,' I show you how to create...

No-Code AI Automation with VectorShift: Integrations, Pipelines, and Chatbots In this video, I introduce VectorShift, a no-code AI automation platform that enables you to create AI solutions...

In this video, I'll introduce you to VectorShift, a powerful no-code AI automation platform, and show you how to use its functionalities for various use cases, including agents, chatbots, and...

The Bayer and Thoughtworks PRINCE case study is a useful reminder that reliable agentic AI comes from context routing, t...

CLAUDE.md is the highest-leverage file in any Claude Code project. Here's what goes in one, what doesn't, and the patter...

Agents forget everything between sessions. Here are the patterns that fix that: CLAUDE.md persistence, RAG retrieval, co...

Claude Code is Anthropic's AI coding agent for terminal, IDE, desktop, and browser workflows. Learn what it does, how it...

How RAG works, why it matters, and how to implement it in TypeScript. The technique that lets AI models use your data wi...

OpenAI's Codex CLI now encrypts inter-agent communications for Sol and Terra models, leaving users unable to inspect wha...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.