
Qdrant Horizontal Scaling
OfficialFreeGuides efficient scaling of Qdrant deployments.
Free · Opens the source repo
What Qdrant Horizontal Scaling does
The Qdrant Horizontal Scaling skill provides comprehensive guidance for scaling Qdrant deployments effectively. It addresses common scaling questions such as whether to opt for vertical or horizontal scaling, how to determine the appropriate number of nodes and shards, and strategies for adding nodes or reshaping data distribution. This skill is particularly useful for developers and data engineers who are managing Qdrant instances that require increased capacity due to data growth or performance demands.
When scaling Qdrant, the skill emphasizes a vertical-first approach, which is simpler and incurs no network overhead. It recommends horizontal scaling only when the data exceeds the capacity of a single node, or when fault tolerance and independent IOPS are necessary. The skill outlines the most basic distributed configuration, which involves a minimum of three nodes and a replication factor of two to ensure zero-downtime scaling. This foundational knowledge is crucial for maintaining operational continuity during scaling operations.
The skill also details the considerations for choosing the number of shards, explaining how to balance distribution and overhead. It cautions against common pitfalls, such as uneven shard distribution and inadequate replication factors, which can lead to downtime or data loss. Additionally, it provides insights into the resharding process, emphasizing that it should be a last resort due to its complexity and resource demands. Overall, this skill serves as an essential resource for anyone looking to optimize their Qdrant deployment as data needs evolve.
When to use it
Use this skill when you need to scale a Qdrant deployment or when facing capacity challenges due to data growth.
When not to use it
This skill may not be necessary for small-scale deployments or if your current configuration is already optimal for your data needs.
What you can build with it
Scaling Up Due to Data Growth
When your Qdrant deployment is facing capacity issues due to increased data volume, this skill helps you determine the best scaling strategy.
Optimizing Node and Shard Configuration
Use this skill to find the optimal number of nodes and shards for your Qdrant setup to enhance performance and fault tolerance.
Planning for Zero-Downtime Maintenance
This skill guides you in configuring your Qdrant deployment to allow for zero-downtime scaling and maintenance operations.
How to install Qdrant Horizontal Scaling
View source1. Install with the skills CLI
npx skills add github/awesome-copilot/horizontal-scaling --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by githubWhat to Do When Qdrant Needs More Capacity
Vertical first: simpler operations, no network overhead, good up to ~100M vectors per node depending on dimensions and quantization. Horizontal when: data exceeds single node capacity, need fault tolerance, need to isolate tenants, or IOPS-bound (more nodes = more independent IOPS).
Most basic distributed configuration
- 3 nodes, 3 shards with
replication_factor: 2for zero-downtime scaling
Minimum of 3 nodes is important for consensus and fault tolerance. With 3 nodes, you can lose 1 node without downtime. With 2 nodes, losing 1 node causes downtime for collection operations.
Replication factor of 2 means each shard has 1 replica, so you have 2 copies of data. This allows for zero-downtime scaling and maintenance. With replication_factor: 1, zero-downtime is not guaranteed even for point-level operations, and cluster maintenance requires downtime.
Choosing number of shards
Shards are the unit of data distribution. More shards allows more nodes and better distribution, but adds overhead. Fewer shards reduces overhead but limits horizontal scaling.
For cluster of 3-6 nodes the recommended shard count is 6-12. This allows for 2-4 shards per node, which balances distribution and overhead.
Changing number of shards
Use when: shard count isn't evenly divisible by node count, causing uneven distribution, or need to rebalance.
Resharding is expensive and time-consuming, it should be used as a last resort if regular data distribution is not possible. Resharding is designed to be transparent for user operations, updates and searches should still work during resharding with some small performance impact.
But resharding operation itself is time-consuming and requires to move large amounts of data between nodes.
- Available in Qdrant Cloud Resharding
- Resharding is not available for self-hosted deployments.
Better alternatives: over-provision shards initially, or spin up new cluster with correct config and migrate data.
What NOT to Do
- Do not jump to horizontal before exhausting vertical (adds complexity for no gain)
- Do not set
shard_numberthat isn't a multiple of node count (uneven distribution) - Do not use
replication_factor: 1in production if you need fault tolerance - Do not add nodes without rebalancing shards (use shard move API to redistribute)
- Do not scale down RAM without load testing (cache eviction causes days-long latency incidents)
- Do not hit the collection limit by using one collection per tenant (use payload partitioning)
Frequently asked questions about Qdrant Horizontal Scaling
Similar skills
ClickHouse Logs Queries
Efficiently manage Supabase logs with ClickHouse SQL.
EF Core D2 Database Diagram Generator
Visualize your EF Core models as D2 diagrams effortlessly.
Safe SQL Execution
Ensure secure SQL execution in Supabase applications.
Oracle to PostgreSQL Migration
Identify migration risks between Oracle and PostgreSQL.
SSMA Console
Streamline Oracle to SQL Server migrations with ease.
SQL Performance Optimization
Enhance SQL query efficiency across all databases.
