unsubbed.co

Qdrant

The Rust-powered vector database with best-in-class metadata filtering — self-host for $5/month or use the most generous free cloud tier in the category.

Best for: AI/ML teams building RAG pipelines, recommendation engines, or semantic search who need strong metadata filtering and want to self-host at moderate scale under 50M vectors.

TL;DR

  • What it is: Open-source (Apache-2.0) vector similarity search engine written in Rust — stores embeddings with rich metadata and lets you search by semantic similarity with powerful filtering.
  • Who it’s for: AI/ML teams building RAG pipelines, recommendation engines, or semantic search who need strong metadata filtering and want to self-host at moderate scale (under 50M vectors).
  • Cost savings: Qdrant Cloud starts at $25/month with a free tier (1GB forever, no credit card). Self-hosting on Hetzner runs about $5-8/month vs $30-49/month for managed Qdrant Cloud.
  • Key strength: Best-in-class metadata filtering among vector databases — JSON-based filters with nested properties, multi-condition queries, and query planner optimization that runs during HNSW traversal rather than pre/post-filtering.
  • Key weakness: Performance degrades significantly beyond 10M vectors (626 QPS at 1M drops to 41 QPS at 50M), concurrent write limitations under heavy load, and a smaller ecosystem than Pinecone/Weaviate/Milvus.

What is Qdrant

Qdrant (pronounced “quadrant”) is a vector similarity search engine and vector database. You feed it vectors (embeddings from neural networks, LLMs, or any encoder) along with JSON metadata payloads, and it lets you search for the most similar vectors while filtering by metadata conditions. The core use case: you embed your documents/images/products into vectors, store them in Qdrant, and query “find me the 10 most similar items that also match these filters.”

The project is written entirely in Rust, which gives it a small memory footprint and predictable performance without garbage collection pauses. It’s developed by Qdrant Solutions GmbH, a Berlin-based company that also offers Qdrant Cloud as a managed service. The codebase is Apache-2.0 licensed — genuinely open source.

What distinguishes Qdrant from other vector databases is its filtering architecture. Most vector databases do pre-filtering (reduce the dataset, then search) or post-filtering (search everything, then filter results). Qdrant filters during HNSW graph traversal — “filters are applied during HNSW traversal, no pre- or post-filtering. High recall with low latency, even under complex conditions.” This matters when your queries look like “find similar products in category X, price range Y, available in region Z.”

As of this review, Qdrant has 29,600+ GitHub stars with official client libraries in Python, JavaScript, Go, Rust, .NET, and Java, and integrations with LangChain, LlamaIndex, Haystack, and other AI frameworks.


Why people choose it over Pinecone, Weaviate, Milvus, and pgvector

Versus Pinecone. Pinecone is fully managed, zero-ops, and scales effortlessly — but it’s cloud-only, proprietary, and pricing gets steep at volume. Qdrant matches Pinecone on metadata filtering while offering a self-hosted option. Qdrant’s free tier (1GB forever, no credit card) undercuts Pinecone’s free tier on both storage and flexibility.

Versus Weaviate. Weaviate distinguishes itself with knowledge graph capabilities and a GraphQL API. Both are strong on metadata filtering, but Weaviate is better when you need structured relationships between objects. Weaviate’s managed cloud starts around $75/month vs Qdrant’s $25/month. If your use case is pure vector search with filtering, Qdrant is leaner. If you need hybrid knowledge-graph + vector search, Weaviate is more capable.

Versus Milvus. At 50M vectors, Qdrant achieves 41 QPS at 99% recall vs 471 QPS from pgvectorscale — an order of magnitude difference. Milvus handles hundreds of millions to billions of vectors in production but requires a more complex distributed architecture (etcd, MinIO, multiple microservices).

Versus pgvector. pgvector runs inside PostgreSQL — vector search without a separate database. For small-to-medium datasets where you’re already on PostgreSQL, pgvector is simpler. The performance comparison shows pgvector with pgvectorscale beating Qdrant on large datasets while offering familiar SQL query patterns. Qdrant wins on filtering complexity and dedicated vector search features.


Features: what it actually does

Core search engine:

  • HNSW-based approximate nearest neighbor search with configurable accuracy/speed trade-offs
  • Exact search mode for small collections or precision-critical queries
  • Dense and sparse vector support — use both for hybrid search (BM25 + semantic)
  • Multi-vector support — store multiple vectors per point for late interaction models like ColBERT
  • Quantization (scalar, binary, product) — reduce memory by up to 64x while maintaining search quality

Filtering and payload:

  • JSON payload storage with rich filtering: match, range, geo-radius, nested object queries
  • Efficient one-stage filtering during HNSW traversal — no pre/post-filter penalty
  • Full-text search on payload fields
  • Payload indexes for accelerated filtering

Infrastructure:

  • Docker one-liner deployment: docker run -p 6333:6333 qdrant/qdrant
  • REST API (port 6333) and gRPC API (port 6334)
  • Real-time indexing — vectors searchable immediately after insertion
  • Horizontal sharding and replication for multi-node deployments
  • Snapshots for backup and restore
  • Web UI for collection inspection and query testing

Client ecosystem:

  • Official clients: Python, JavaScript/TypeScript, Go, Rust, .NET, Java
  • Framework integrations: LangChain, LlamaIndex, Haystack, Cohere, Microsoft Semantic Kernel, OpenAI

Pricing math

Self-hosted: Free forever. Apache-2.0 license, no usage limits, no feature gates.

Qdrant Cloud:

TierPriceWhat you get
Free$01GB vector storage, forever, no credit card
StandardFrom $25/monthProduction clusters on AWS/GCP/Azure
Hybrid CloudFrom $99/monthYour K8s, Qdrant’s management plane
Private CloudCustomAir-gapped, dedicated infrastructure

Self-hosting cost math: A Hetzner VPS with 2 CPU, 4GB RAM, 40GB NVMe costs about $5-8/month and handles moderate workloads comfortably. A production setup with Caddy reverse proxy, API key authentication, and automated backups runs on this budget. Compare to Qdrant Cloud at $25-49/month for equivalent capacity — self-hosting saves 70-80% if you have the Linux admin skills.


Deployment reality

The minimum viable deployment is one command:

docker run -p 6333:6333 qdrant/qdrant

This gives you an in-memory instance with REST API on port 6333. Add a volume mount for persistence and you have a development server.

Security note: Qdrant ships without authentication by default. The documentation warns: “Starts an insecure deployment without authentication open to all network interfaces.” You must configure API key authentication and TLS before exposing it to any network. The production checklist: set QDRANT__SERVICE__API_KEY, enable TLS through Caddy/nginx, restrict firewall rules to known IPs.

Performance tuning: For large collections, enable quantization (scalar quantization gives 4x memory reduction with minimal quality loss) and configure HNSW parameters (ef, m) for your accuracy/speed requirements. Increase file descriptor limits and tune kernel network parameters for high-throughput workloads.


Who should use this

Use Qdrant if:

  • You’re building RAG/search applications with budget constraints — the free tier gets you started, self-hosting keeps costs minimal
  • Your application requires complex metadata filtering alongside vector search (e-commerce, legal search, multi-tenant SaaS)
  • You’re comfortable with Docker and want full infrastructure control
  • Edge/IoT deployments where the Rust binary’s small footprint matters

Not the right tool if:

  • You’re building at billion-vector scale — Milvus or Pinecone handle this better
  • You need zero-ops managed search with minimal engineering — Pinecone is simpler
  • Your use case is primarily keyword search with vector as an add-on — just use pgvector in your existing PostgreSQL
  • You need integrated knowledge graphs — Weaviate is more capable here

Sources

This review synthesizes 5 independent third-party articles along with primary sources from the project itself. Inline references throughout the review map to the numbered list below.

  1. [1] xenoss.io (2025-07-11) — “Vector database selection guide: Pinecone vs. Weaviate vs. Qdrant” — comparison (link)
  2. [2] liquidmetal.ai (2025-04-09) — “Vector Database Comparison: Pinecone vs Weaviate vs Qdrant vs FAISS vs Milvus vs Chroma” — comparison (link)
  3. [3] dev.to (2026-04-08) — “Vector Database Performance Compared: pgvector vs Pinecone vs Qdrant vs Weaviate” — comparison (link)
  4. [4] firecrawl.dev (2026) — “Best Vector Databases in 2026: A Complete Comparison Guide” — review (link)
  5. [5] sliplane.io (2026) — “Self-Hosting Qdrant with Docker on Ubuntu Server” — deployment (link)
  6. [6] GitHub repository — official source code, README, releases, and issue tracker (https://github.com/qdrant/qdrant)
  7. [7] Official website — Qdrant project homepage and docs (https://qdrant.tech)

References [1]–[7] above were used to cross-check claims about features, pricing, deployment, and limitations in this review.

Features

Integrations & APIs

  • Plugin / Extension System
  • REST API