Qdrant
1.xSummary
Purpose-built vector database written in Rust, providing HNSW-based approximate nearest neighbor search with payload filtering, named vector support, and both in-memory and on-disk HNSW index modes.
Primary Use Case
Semantic search, RAG (Retrieval Augmented Generation) pipeline retrieval, recommendation systems, and any workload requiring high-throughput vector similarity search with rich metadata filtering.
Consistency & Transactions
Scaling
Read scalability
Collection sharding distributes vectors across multiple nodes. Queries fan out to relevant shards and results are merged. Replication factor configurable per collection. Read replicas can be added to scale query throughput without increasing write latency.
Write scalability
Writes are replicated to all replicas in a collection. HNSW index construction is CPU-bound during segment merging. Ingestion throughput constrained by HNSW build time: batching large inserts is recommended over one-by-one writes.
Failure Behavior
Known failure modes
- ·Vector index stale: rebuilt only on full reindex
- ·Embedding drift if the embedding model is updated without re-indexing all vectors
- ·Out-of-memory on large collections if on-disk mode is not enabled
- ·Segment merge I/O spike during heavy ingestion
Degradation patterns
- ·Recall degrades as the HNSW index segments accumulate and are not merged: periodic optimization recommended
- ·Filtered ANN recall degrades if filter selectivity is very high and HNSW graph pruning cuts too many nodes
- ·Ingestion throughput drops during segment merge operations (similar to LSM compaction)
Recovery considerations
- ·Collections can be snapshotted and restored; snapshots are the primary backup mechanism
- ·Replication factor > 1 provides automatic failover; primary shard failure triggers replica promotion
- ·Re-indexing from source documents is the recovery path for corrupted collections
Architecture Guidance
Common topology roles
Migration notes
- ·Migrating from pgvector: Qdrant provides higher throughput at scale; pgvector is simpler for small collections already in PostgreSQL
- ·Migrating between embedding models requires full re-embedding and reindex: all existing vectors must be regenerated
- ·Qdrant's payload filtering runs inside the HNSW graph traversal; equivalent functionality in pgvector requires post-filtering on results
Advisor Guidance
When: scenario has AI RAG pipeline with >100K documents
Qdrant's filtered ANN and on-disk mode provide scalable retrieval at RAG corpus scales without PostgreSQL infrastructure overhead
When: embedding model version changes are planned
Version the collection name or use Qdrant's named vectors to isolate old and new embeddings during migration
Comparison Factors
operational complexity
Low: single binary, Docker-friendly, managed cloud available
latency
1–5ms for ANN search: purpose-built for this workload
durability
Durable with replication; snapshots required for backup
cost
Open source self-hosted is low cost; cloud managed adds operational simplicity
Basis
Qdrant is a production-grade vector database with extensive documentation; HNSW implementation details and performance characteristics are documented in their official documentation and benchmark reports
Related Architecture Knowledge
Outbound: this entity affects
Qdrant provides vector similarity search; PostgreSQL provides relational data storage. They are commonly deployed together: relational data in PostgreSQL, vector embeddings in Qdrant, with the application joining on document IDs.
Full relationship →Qdrant stores pre-computed embeddings that become stale when source document content changes or when the embedding model version is updated, requiring scheduled re-embedding and index rebuild.
Full relationship →Qdrant's HNSW index is built on the corpus at collection creation time; incremental inserts are added to the index graph, but recall degrades as the index diverges from the current distribution without periodic rebuilds.
Full relationship →Qdrant is a purpose-built vector database that implements HNSW approximate nearest neighbor search with payload filtering, directly supporting the vector similarity search pattern.
Full relationship →