qdrant-tenant-scaling
About
This skill provides Qdrant scaling guidance for multi-tenant scenarios, advising against collection-per-tenant approaches. It recommends payload-based partitioning in shared collections and covers dedicated shards for performance isolation. Use it when addressing tenant scaling, isolation strategies, or performance issues in growing multi-tenant workloads.
Quick Install
Claude Code
Recommendednpx skills add qdrant/skills -a claude-code/plugin add https://github.com/qdrant/skillsgit clone https://github.com/qdrant/skills.git ~/.claude/skills/qdrant-tenant-scalingCopy and paste this command in Claude Code to install this skill
Documentation
What to Do When Scaling Multi-Tenant Qdrant
Do not create one collection per tenant. Does not scale past a few hundred and wastes resources. One company hit the 1000 collection limit after a year of collection-per-repo and had to migrate to payload partitioning. Use a shared collection with a tenant key.
- Understand multitenancy patterns Multitenancy
Here is a short summary of the patterns:
Number of Tenants is around 10k
Use the default multitenancy strategy via payload filtering.
Read about Partition by payload and Calibrate performance for best practices on indexing and query performance.
Number of Tenants is around 100k and more
At this scale, the cluster may consist of several peers. To localize tenant data and improve performance, use custom sharding to assign tenants to specific shards based on tenant ID hash. This will localize tenant requests to specific nodes instead of broadcasting them to all nodes, improving performance and reducing load on each node.
If tenants are unevenly sized
If some tenants are much larger than others, use tiered multitenancy to promote large tenants to dedicated shards while keeping small tenants on shared shards. This optimizes resource allocation and performance for tenants of varying sizes.
Need Strict Tenant Isolation
Use when: legal/compliance requirements demand per-tenant encryption or strict isolation beyond what payload filtering provides.
- Multiple collections may be necessary for per-tenant encryption keys
- Limit collection count and use payload filtering within each collection
- This is the exception, not the default. Only use when compliance requires it.
What NOT to Do
- Do not create one collection per tenant without compliance justification (does not scale past hundreds)
- Do not skip
is_tenant=trueon the tenant index (kills sequential read performance) - Do not build global HNSW for multi-tenant collections (wasteful, use
payload_minstead)
GitHub Repository
Related Skills
executing-plans
DesignUse the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.
requesting-code-review
DesignThis skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.
connect-mcp-server
DesignThis skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.
web-cli-teleport
DesignThis skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.
