Generated banner for Qdrant Tenant Scaling
Generated logo for Qdrant Tenant Scaling

Qdrant Tenant Scaling

GitHubOfficialFirst committed by anush008Distributed by GitHub

  • Skill
  • Guidelines
  • Data and AI
  • MIT
  • No issues found

From the author

Guides Qdrant multi-tenant scaling. Use when someone asks 'how to scale tenants', 'one collection per tenant?', 'tenant isolation', 'dedicated shards', or reports tenant performance issues. Also use when multi-tenant workloads outgrow shared infrastructure.
— the description by anush008

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides architectural guidance for managing multi-tenant workloads in Qdrant. It emphasizes avoiding the anti-pattern of creating one collection per tenant, which fails to scale, and instead recommends strategies like payload filtering, custom sharding, and tiered multitenancy based on the number of tenants and their specific performance or compliance needs.

What it does

  • Recommends payload filtering for standard multi-tenant workloads.
  • Advises on using custom sharding for large-scale deployments with 100k+ tenants.
  • Suggests tiered multitenancy to handle uneven tenant sizes.
  • Provides criteria for when to use strict isolation via separate collections.
  • Identifies common anti-patterns to avoid, such as excessive collection creation.
  • Highlights performance optimizations like payload indexing and HNSW configuration.

When to use it

  • When designing a multi-tenant architecture for Qdrant.
  • When existing multi-tenant workloads are experiencing performance degradation.
  • When deciding between shared collections and dedicated shards for tenants.
  • When compliance or legal requirements necessitate strict data isolation.
  • When scaling from hundreds to hundreds of thousands of tenants.

Advantages

  • Prevents resource exhaustion caused by excessive collection creation.
  • Improves query performance by localizing requests to specific nodes.
  • Optimizes infrastructure costs through tiered resource allocation.
  • Ensures compliance with strict data isolation requirements when necessary.

Usage examples

“How should I structure my Qdrant collections for 50,000 tenants?”
The agent will recommend using the default multitenancy strategy via payload filtering and provide guidance on indexing and performance calibration.
“My multi-tenant Qdrant cluster is slow, should I create a collection for every tenant?”
The agent will advise against creating one collection per tenant and suggest migrating to a shared collection with payload partitioning.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/github/qdrant-tenant-scaling/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip qdrant-tenant-scaling.zip -d .agents/skills

Documentation by anush008

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.

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=true on the tenant index (kills sequential read performance)

  • Do not build global HNSW for multi-tenant collections (wasteful, use payload_m instead)

Files

Requirements and compatibility

Written for: GitHub Copilot

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Node.js

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

First committed by
GitHub avatar of anush008anush008
Publisher
GitHub (Official)
Distributed by
GitHub
Source
github/awesome-copilot · skills/qdrant-scaling/scaling-data-volume/tenant-scaling · commit 797337f
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced
Contributors
anush008

AutoGineer is not affiliated with or endorsed by anush008 or GitHub.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download qdrant-tenant-scaling.zip