Qdrant is an open-source vector database written in Rust. Fast filtered search, aggressive memory optimisation, and easy to self-host.
Qdrant is an open-source vector database written in Rust, designed for fast approximate nearest-neighbour search over high-dimensional embeddings. It stores vectors alongside JSON metadata — called payloads — and lets you filter on that metadata during the search itself rather than after the fact. This makes Qdrant particularly well-suited for production RAG (Retrieval-Augmented Generation) systems, semantic search applications, and recommendation engines where you need to combine semantic similarity with business logic constraints at query time. It is self-hostable under the Apache 2.0 licence, runs in Docker with a single command, and offers a managed cloud for teams that do not want to run their own infrastructure.
Vector databases store numerical representations of data — called embeddings — rather than raw text or objects. When you generate an embedding for a query, the database finds the stored vectors closest to it in the high-dimensional space. That similarity corresponds to semantic relatedness: two pieces of text that mean similar things will produce vectors that are geometrically close, even if they share no keywords.
Qdrant’s core data model has three layers:
The key architectural detail that sets Qdrant apart is how it handles filtered search. Most vector databases run the vector search first, then apply metadata filters to the result set — which can be inaccurate when the unfiltered candidates do not contain enough qualifying results. Qdrant integrates the filter into the HNSW traversal itself, so the index only visits nodes that satisfy the filter conditions. This keeps query latency predictable regardless of how selective the filter is.
Qdrant also offers quantisation as a production lever: you can compress stored vectors into int8 (scalar quantisation, 4x memory reduction) or single-bit format (binary quantisation, up to 40x memory reduction), with the original full-precision vectors optionally kept on disk for re-scoring.
AI engineers building production RAG systems are Qdrant’s primary users. If you are connecting a language model to a private document corpus — internal knowledge base, product documentation, legal contracts, support tickets — Qdrant is where the document embeddings live and where retrieval happens at query time.
ML engineers working on semantic search and recommendation systems use Qdrant when they need filtered search at scale. A product search system that needs to combine semantic relevance with in-stock status, price range, and category constraints is a natural fit. So is a recommendation engine that stores user behaviour embeddings and needs to find nearest neighbours within a specific demographic or content category.
Data scientists building agent memory systems use Qdrant to store and retrieve episodic memories for long-running AI agents — persistent storage of past interactions, facts, or observations that an agent can query when relevant context might exist in prior sessions.
RAG document retrieval. A knowledge base where documents are embedded and stored in Qdrant, and incoming user questions are embedded at query time to retrieve the most relevant chunks before passing them to an LLM. Payload filters let you scope retrieval to specific document types, date ranges, or access control tiers.
Semantic product search. A product search system where queries like “cozy winter jacket for hiking” retrieve relevant products based on meaning rather than keyword matching. Filtered search on category, price range, and in-stock status runs in the same query without a separate database call.
Recommendation engine. A system that embeds user behaviour or item attributes and finds nearest neighbours to surface similar content or products. Qdrant’s multi-vector support lets you store both a text embedding and an image embedding per item and search across both simultaneously.
Long-term agent memory. A component in an agentic AI system that stores past interactions or facts as embeddings, allowing an agent to retrieve relevant context from thousands of prior events without fitting them all in a context window.
Qdrant is open-source under the Apache 2.0 licence and free to self-host without any licensing cost. You run it in Docker or Kubernetes on your own infrastructure — the only cost is the hardware.
Qdrant Cloud is the managed option. It has a permanent free tier with 0.5 vCPU, 1 GB RAM, and 4 GB disk, which is enough to prototype with a few million vectors. Paid tiers are resource-based at around $0.078/GB-hour of RAM, plus separate charges for vCPU and disk. A small production deployment (2 GB RAM, 1 vCPU) runs roughly $55–70/month on Qdrant Cloud. Hybrid Cloud and Private Cloud options are also available for teams that need data residency or want to run managed Qdrant inside their own cloud account.
Run Qdrant locally with Docker:
docker run -p 6333:6333 qdrant/qdrant
This starts the Qdrant server with the REST API at http://localhost:6333 and the gRPC interface at port 6334. Install the Python client and create your first collection:
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams
client = QdrantClient("localhost", port=6333)
client.create_collection(
collection_name="my_docs",
vectors_config=VectorParams(size=1536, distance=Distance.COSINE),
)
From there, embed your documents using an embedding model (OpenAI’s text-embedding-3-small, Cohere, or a local model via Ollama), upsert the vectors with their payload metadata, and run similarity search with optional filters. The Qdrant documentation at qdrant.tech covers Python, TypeScript, and Rust quickstarts in detail.
BuildrLabs is an AI engineering academy in Colombo, Sri Lanka. The Agentic AI Bootcamp covers vector databases and RAG architecture — including hands-on Qdrant work — as part of the production AI systems curriculum. Learn more at buildrlabs.ai.
Yes. Qdrant is open-source under the Apache 2.0 licence and completely free to self-host. Qdrant Cloud adds a managed option with a free tier (0.5 vCPU, 1 GB RAM, 4 GB disk — enough to test and prototype with millions of vectors) and resource-based paid tiers from around $0.078/GB-hour of RAM.
Qdrant is self-hostable and open-source; Pinecone is managed-only. At equivalent data volumes, Qdrant Cloud tends to be cheaper — benchmarks suggest $120-180/month for 10M vectors on Qdrant versus $170-370/month on Pinecone Serverless. Qdrant also has a stronger filtered search model: filtering on payload attributes happens inside the HNSW index traversal rather than as a post-processing step, which keeps latency predictable at high query rates. Pinecone's advantage is a simpler setup with less infrastructure to think about.
Quantisation compresses the floating-point vectors stored in the index into a smaller numerical format. Scalar quantisation (int8) reduces memory usage by 4x with less than 1% accuracy loss. Binary quantisation goes further — compressing each dimension to a single bit — and can reduce memory usage by 32-40x while boosting search speed, at the cost of some accuracy. For production deployments with tens of millions of vectors, quantisation is often the difference between a deployment that fits in budget and one that does not.
Pinecone is a fully managed vector database built for production-scale RAG and semantic search. No infrastructure to manage — it scales to billions of vectors and charges by usage.
Vector DBChroma is an open-source search database for AI that combines vector, full-text, regex, and metadata search for RAG applications.
Vector DBLanceDB is an open-source embedded vector database that runs in-process with no server required, built for RAG pipelines and semantic search.
Vector DBWeaviate is an open-source vector database with built-in modules for embedding, hybrid search, and generative search. Self-host or use Weaviate Cloud.
Vector DBUpdates from the AI world — what shipped, what we’re using in production, and what’s worth your attention. Two emails a month, no spam.