Skip to content

Vector Database Comparison 2026: Qdrant, Pinecone, Weaviate, Milvus and pgvector

We compare Qdrant, Pinecone, Weaviate, Milvus and pgvector on scale, latency, hybrid search and KVKK. A 2026 decision flow, table, and selection checklist.

SYK
Şükrü Yusuf KAYA
AI Expert · Enterprise AI Consultant

TL;DR — In 2026 there is no single "best vector database"; the right question is scale, latency, hybrid search, filtering, managed vs self-host, and data residency. A rough compass: under 100M vectors → Qdrant (Rust, best open-source latency and throughput-per-dollar, best free tier), 1 billion+ → Milvus (extreme scale), want managed/zero-ops only → Pinecone, hybrid search is your priority → Weaviate, already on Postgres at modest scale → pgvector (SQL filtering, joins, document-embedding consistency). If you care about KVKK and data residency in Turkey, self-hosting Qdrant/Milvus/Weaviate/pgvector is more controllable than a managed SaaS where data leaves the country. Treat benchmark numbers as approximate/reported, and test with your own data.

Why did vector databases suddenly matter so much?

A few years ago "vector database" was an exotic term for most teams. Today it sits at the crossroads of nearly every team trying to build RAG (retrieval-augmented generation), semantic search, recommendation systems, or agent memory. The reason is simple: large language models turn text into numerical vectors (embeddings) that carry "meaning," and quickly finding the "most semantically similar" among these vectors has become the backbone of modern AI applications. Classic databases were designed for "exact match" and "keyword"; vector databases exist to answer the question "what resembles this" among millions or even billions of vectors in milliseconds.

The most common mistake I see in the field is treating the choice like a fashion contest. Teams that decide with "everyone uses this" hit either the scale wall, the cost wall, or the KVKK wall six months later. The right choice is not a matter of technical taste but the intersection of a few clear constraints. In this post I unpack those constraints one by one, compare the five big players — Qdrant, Pinecone, Weaviate, Milvus, and pgvector — honestly, explain what indexing and quantization mean, and end with a decision flow and a selection checklist. Please read the numbers as "approximate and reported"; every benchmark comes with its own framing, and the only real benchmark is your own data.

First, ask the right questions: selection factors

These are the factors that determine the choice when picking a vector database. Score them for your own project; most of the answer falls out of this table.

Scale. How many vectors will you store? Tens of thousands, tens of millions, or billions? This one question eliminates candidates broadly. Many tools run comfortably under a hundred million; at the billion level the field narrows sharply.

Latency and throughput. How many milliseconds should a response take while a user types in the search box? How many queries per second (QPS) will you get? The latency budget of a real-time search experience is the polar opposite of a nightly batch analytics job.

Hybrid search. Is semantic (vector) search alone enough, or do you need to combine it with keyword (BM25) search? If "exact terms" like legal text, product codes, or proper nouns matter, hybrid search becomes essential.

Filtering and metadata. Do you need to narrow the search with metadata conditions like "only in this category, after this date, belonging to this user"? Filtering quality and performance vary significantly from tool to tool.

Managed or self-host? Do you want to hand the operational load to a provider, or must you keep the data in your own infrastructure? This decision directly drives both cost and the KVKK/data-residency side.

Cost. Not just license/subscription but total cost of ownership including storage, compute, index memory needs, and operational labor. The generosity of free tiers makes a big difference at the prototype stage.

Data residency and compliance. Where does the data sit? Does it leave for a SaaS abroad? For KVKK, sectoral regulations, and EU AI Act scenarios, this is a constraint that comes before the technical.

Ecosystem and integration. How smoothly does it talk to frameworks like LangChain and LlamaIndex, to embedding providers, and to your existing stack? Good integration saves months.

The five big players, an honest comparison

Now let us take the candidates one by one. Each has a "place where it shines"; the secret is matching that bright spot with your problem.

Qdrant — open-source latency and throughput champion

Qdrant reaps the fruit of being written in Rust: very low latency and high throughput per dollar. In reported benchmarks at the 10-million-vector scale, p99 latencies drop from low single-digit milliseconds to the ~12 ms band. In the open-source world it offers the best latency/throughput balance and generally the most generous free tier. For most production scenarios under 100 million vectors, Qdrant is my default recommendation. Because you can run it on your own infrastructure, it is comfortable for KVKK and data residency too. Its weakness is that it is not as focused on the billion+ extreme scale as Milvus — but most teams never reach that scale.

Weaviate — the king of hybrid search

Weaviate's distinctive strength is hybrid search: it elegantly combines vector (semantic) and keyword (BM25) search and blends the results into a single score. If both "semantically similar" and "must contain this exact term" are critical in your search — law, health, e-commerce product search — Weaviate is a strong candidate. It has a mature ecosystem with a schema/class-oriented model, modules, and a GraphQL interface. Being self-hostable is a plus on the KVKK side too. If hybrid search is not a priority, you don't have to switch to Weaviate for that feature alone.

Milvus — the winner of extreme scale

Milvus was designed for scenarios that must manage billions of vectors. With its distributed architecture, storage-compute separation, and various index types, it outpaces rivals in the 10-billion+ vector band. If you truly search over a massive corpus — a large media archive, a country-scale catalog, a heavy recommendation system — Milvus is a serious candidate. The price is operational complexity: keeping a distributed Milvus cluster alive takes far more effort than a single-node Qdrant. Building a billion-scale architecture up front "just in case" is unnecessary weight for most teams; migrating when scale actually arrives is wiser.

Pinecone — easiest to operate, fully managed

Pinecone's promise is clear: zero operations. As a fully managed service it takes the burden of servers, indexing, scaling, and maintenance off your shoulders. With enterprise security certifications and SLAs, it is the smoothest path for teams thin on infrastructure staff or eager to ship quickly. If you say "I don't want to do DevOps, it should just work," Pinecone exists precisely for that. The price is twofold: cost can rise at scale, and — critical for Turkey — your data sits in a cloud abroad, outside your control. For sensitive personal data this is something to weigh seriously under KVKK.

pgvector — the smart choice if you're already on Postgres

pgvector is an extension that adds vector search to PostgreSQL. Instead of standing up a separate system, you store and search vectors inside the Postgres you already trust. This has big advantages: you can filter and join with SQL, and preserve transactional consistency between your documents and their embeddings — that is, when you update a record it updates atomically together with its embedding, sparing you the synchronization pain between two separate systems. For teams already running Postgres at modest scale (not reaching the hundreds of millions), pgvector is often the most pragmatic, lowest-maintenance choice. At extreme scale and very high QPS it may not be as fast as dedicated vector engines, but the value of simplicity should not be underestimated.

The big comparison table

DatabaseTypeHybrid searchBest scaleManaged?Self-host?Standout strength
QdrantOpen source (Rust)Yes (good)<100M vectorsCloud version availableYesBest open-source latency/throughput, best free tier
WeaviateOpen sourceYes (strongest)Medium-largeCloud version availableYesBest hybrid (vector + keyword) search
MilvusOpen source (distributed)Yes1B+ (10B+)Zilliz CloudYesLeader at extreme scale
PineconeFully managed (closed)YesMedium-largeYes (only)NoZero-ops, enterprise SLA/certs
pgvectorPostgres extensionSQL + vector<~100M (modest)Wherever your Postgres isYesSQL filtering/joins, transactional consistency

Note: Scale and performance statements in the table are approximate and reported values; make the final decision with a test on your own data and query pattern.

Decision flow: which one in which situation?

At the consulting table I usually draw this flow. Read top to bottom; the first matching branch is often the right answer.

  1. Can you not move data abroad (strict KVKK/data residency)? Then managed SaaS (Pinecone) is eliminated; look at self-hostable ones (Qdrant, Milvus, Weaviate, pgvector). → Go to step 2.
  2. Are you already running PostgreSQL and is your scale under a hundred million? Then start with pgvector; it meets most needs without taking on the operational load of a new system.
  3. Is hybrid search (vector + keyword) critical for you? Then put Weaviate first.
  4. Are you at billion+ vector scale? Then Milvus (or managed Zilliz) is nearly mandatory.
  5. Do you not want to do operations, want enterprise SLA and zero maintenance, and is data residency not a blocker for you? Then Pinecone.
  6. Is none of the above dominant, and you want good latency and low cost under 100M? The default recommendation is Qdrant.

This flow is not dogma but a starting point. In real life factors mix: for example you might be running Postgres and need hybrid search. Then race the two candidates in a small pilot and measure with your own data.

Indexing: HNSW, IVF, and quantization

Whichever tool you pick, the real mechanism determining performance is the index. Knowing two concepts is enough.

HNSW (Hierarchical Navigable Small World). Today's de facto standard. It organizes vectors as a multi-layer graph of neighbor relationships and performs "nearest neighbor" search very fast over this graph. It offers high accuracy (recall) with low latency together; the price is memory, since the graph is held in RAM. It has two main tuning knobs: M (number of neighbors per node — higher = better accuracy but more memory) and ef (number of candidates explored during search — higher = better accuracy but slower). Calibrating these two to your own accuracy/latency budget is the highest-return tuning in most projects.

IVF (Inverted File). Partitions the vector space into clusters and, at query time, looks only at relevant clusters. It uses memory more economically on very large datasets; it is common in extreme-scale tools like Milvus. It may not give latency as low as HNSW, but its scalability on huge corpora is better.

Quantization. A technique that dramatically reduces the memory footprint by representing vectors with fewer bits. Scalar quantization stores each dimension with fewer bits (e.g., 8-bit instead of 32-bit); product quantization (PQ) splits the vector into sub-parts and maps each part to the nearest center in a codebook, giving much more aggressive compression. Quantization lowers memory and cost while introducing a small loss in accuracy; the "first filter fast with a quantized index, then rerank at full precision" pattern usually manages this trade-off very well. Qdrant, Milvus, and others offer various quantization options; if your memory cost is high, this is the first lever to reach for.

Practical advice: For most teams, HNSW + a reasonable M/ef setting + scalar quantization if needed is a near-perfect start. Don't treat index tuning as "magic"; run a few experiments, measure recall@k and p99 latency, and fit them to your budget.

Embedding size and memory math: the hidden cost is here

There is a fact most teams overlook when choosing a vector database: what really drives cost is usually not the database's brand but the dimension and count of the vectors you store. The difference between an embedding model that produces 384-dimensional vectors and one that produces 1,536-dimensional vectors is fourfold on the memory and cost side. Let's do a rough calculation: you have 10 million vectors, each 1,536-dimensional and stored as 32-bit floats. The raw vectors alone are about 10,000,000 × 1,536 × 4 bytes, roughly 61 GB; add the overhead of the HNSW graph and your RAM need rises significantly. So before "which database?" you must answer "which embedding model and how many dimensions?"

Three practical levers come into play. First, choosing a smaller-dimension but good-enough embedding model; 3,072 dimensions may sound impressive, but on many tasks 768 or 1,024 dimensions give almost the same accuracy far more cheaply. Second, quantization: dropping from 32-bit to 8-bit with scalar quantization cuts memory to a quarter, and the accuracy loss is acceptable in most scenarios. Third, being able to truncate the vector as needed with techniques like Matryoshka embeddings; these models train so that the first N dimensions of the vector are meaningful on their own, letting you produce both "cheap and fast" and "expensive and precise" search from the same model. Putting these three levers into your plan from the start is far cheaper than a surprise cloud bill six months later.

A warning: when you change your embedding model you must re-embed the entire corpus, because different models' vector spaces are incompatible. So the embedding-model decision is even more permanent than the database decision; don't take it lightly, and compare a few models on recall with your own data before choosing.

Managed or self-host: the real face of cost

The cliché "self-host is free, managed is expensive" is misleading. The right comparison comes from honestly laying out the total cost of ownership. With a managed service (like Pinecone) you see the bill clearly; the monthly fee is known but can climb quickly with scale, and you sacrifice data residency. With self-host the bill is invisible but real: server and GPU/RAM cost, backups, monitoring, upgrades, scaling, and most importantly the human time to do all this. In a small team, even a few hours a week of a single DevOps engineer can, annually, approach the cost of a managed subscription.

In practice I decide like this: at the prototype and early stage, if the team's real job is to validate the product, a managed service or Qdrant's cloud free tier almost always wins on speed — you spend your time producing value, not building vector infrastructure. As scale and volume grow, especially as you climb toward the hundreds of millions and KVKK/data residency comes to the table, the break-even point for self-host approaches and is crossed in most serious projects. The worst scenario is noticing this migration too late: getting locked into a managed service with millions of vectors and waking up when the moving cost becomes frightening. So build your architecture portable from the start — keep the embeddings and metadata in your own store too, in standard formats not specific to the database, so the index can be rebuilt if migration is ever needed.

There is also a "hybrid approach" that is becoming increasingly common: doing development quickly on a managed service, then moving to self-host as you go to production and sensitive data. Taking the best of both worlds is possible, as long as you abstract your APIs and don't lock in to a single provider at the code level. Frameworks like LangChain or LlamaIndex give much of this abstraction out of the box; designing the vector store as a swappable component is the insurance for your future flexibility.

Turkey, KVKK, and data residency

In Turkey, choosing a vector database is not only a performance decision; it is also a compliance decision. What you put into this database is often not innocent numbers: embeddings of customer support records, contracts, personal documents, and their associated metadata. Although an embedding looks like an "anonymous sequence of numbers," because it is tied to the related texts and metadata, it can fall within the scope of personal data processing in practice.

Managed SaaS or self-host? This is the most critical distinction here. When you use a fully managed service hosted abroad, like Pinecone, your data (and derived embeddings) is transferred across borders. If you work with sensitive personal data, you must assess whether that transfer complies with KVKK's cross-border transfer rules. By contrast, you can run Qdrant, Milvus, Weaviate, and pgvector on your own servers (whether on-premise or in a cloud in Turkey) and keep the data within the country and under your control. In the field, for finance, health, and public-sector projects handling sensitive data, I almost always recommend the self-host side.

Index security and access control. Don't treat your vector database as an "internal system" and neglect its security. Inside it is a compressed form of the organization's most sensitive information. Restrict access role-based, isolate it at the network layer, encrypt connections (TLS), and view metadata filtering not as a security boundary but merely as a convenience — do the real authorization at the application layer. Also remember that "embedding inversion" attacks can, in some cases, leak information about the original text from an embedding; so treat the embedding store as protected as raw data.

Deletion and lifecycle. KVKK's right to erasure applies here too. When a person requests deletion of their data, you must be able to delete the embeddings and metadata of the documents belonging to that person. Fortunately vector databases — unlike models — allow point deletion; but put this in your design from the start: attach metadata to each vector tracking which data subject it belongs to, so that when a deletion request arrives you can find and remove the relevant records.

Hybrid search and reranking: the second layer of quality

Vector search alone is often not enough; the architecture that gives the best results in the real world is usually two-layered. In the first layer you quickly pull a wide candidate pool — say the top 50-100 documents — with vector (and, if needed, keyword) search. In the second layer you score these candidates more precisely with a reranker and select the best few. This pattern is the single intervention that raises RAG quality the most, because the first layer finds what is "roughly relevant" and the second layer filters out what is "truly best."

Weaviate's edge in hybrid search earns its value exactly here: being able to weigh semantic similarity together with exact-term matching catches what pure vector search misses, especially on queries with proper nouns, product codes, and technical terms. But whichever database you choose, you can add the reranking layer on the application side too; it is a quality lever independent of the database choice. My practical advice: first set a baseline with simple vector search, then add hybrid search and a reranker and measure the improvement in recall@k and final answer quality. In most projects these two layers raise quality far more cheaply than enlarging the embedding model.

Selection checklist

Go through this list end to end before deciding:

  1. Clarify the scale. How many vectors today and in 12-24 months? Under 100M, or 1B+? This alone halves the candidates.
  2. Write down your latency and QPS budget. Real-time search or batch? What is your p99 target in ms?
  3. Do you really need hybrid search? If keyword + vector are both critical, put Weaviate first.
  4. Define the filtering need. If complex metadata filters and joins are required, weigh pgvector's SQL power.
  5. Managed or self-host? Weigh your operational capacity against your KVKK/data-residency constraint on the same scale.
  6. Put KVKK and data residency up front. Can data leave the country? Is there sensitive personal data? If the answer is "no/yes," lean toward self-host.
  7. Compute total cost. Subscription + storage + index memory + operational labor. Consider the free tier for prototyping.
  8. Choose the index strategy. HNSW by default; quantization if memory is tight; IVF at massive scale. Calibrate M/ef to your recall/latency budget.
  9. Design security. Role-based access, network isolation, TLS, data-subject metadata for deletion.
  10. Check ecosystem fit. Integration with LangChain/LlamaIndex, your embedding provider, and your existing stack.
  11. Race two candidates in a small pilot. Measure recall@k and p99 with your own data; trust your own result, not the benchmarks.
  12. Think about exit cost. If you have to migrate tomorrow, how easily can you export the data and index?

How to decide: a practical view

The way not to get lost among so many options is to build the decision in reverse: constraints first, preferences second. The healthiest approach I see again and again in the field is this. First determine two "hard" constraints: can your data leave the country (KVKK), and which scale band are you truly in? These two answers often reduce the field from five to two. For example, for a team working with sensitive personal data and staying under 100M, the debate largely comes down to "self-host Qdrant, or pgvector if you already have Postgres?"; Pinecone is eliminated at the very start.

After clearing the hard constraints, look at the preference factors: if hybrid search is critical, Weaviate stands out; if extreme scale is coming, you prepare for Milvus now; if you lack operational capacity and data residency is not a blocker, Pinecone makes life easier. But whichever way you lean, make the decision from a small pilot, not a slide. Pick two strong candidates, build a real index with a few hundred thousand vectors of your own data, measure recall@k and p99 latency with your real queries, and confirm the KVKK side together with your legal team. The vector database sits at the heart of your RAG and agent-memory architecture; when you choose this heart according to your own scale, latency budget, and data-residency reality rather than a wave of fashion, you build a solid foundation that will carry you for the next two years. Chosen wrong, one of the most expensive migration projects awaits you; so make this decision by measuring, not by rushing.

Consulting Pathways

Consulting pages closest to this article

For the most logical next step after this article, you can review the most relevant solution, role, and industry landing pages here.

Comments

Comments

Connected pillar topics

Pillar topics this article maps to