partition-strategy

Optimize Cosmos DB partition key selection and cross-partition query handling.

4|1|Updated Mar 15, 2026
One-click install
npx skills add https://github.com/FaysilAlshareef/dotnet-ai-kit --skill partition-strategy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: partition-strategy
Source: https://github.com/FaysilAlshareef/dotnet-ai-kit/tree/main/skills/microservice/cosmos/partition-strategy
Command: npx skills add https://github.com/FaysilAlshareef/dotnet-ai-kit --skill partition-strategy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Helping architects and engineers choose partition keys and query patterns for Cosmos DB to minimize RU costs, avoid hot partitions, and improve query performance across single-tenant and multi-tenant scenarios.

Core Features & Use Cases

  • Hierarchical partition guidance: Advice for designing up to three-level partition keys (tenant, time, discriminator) to support point reads and scoped queries.
  • Partition key construction patterns: Examples for building full and partial PartitionKey values and choosing between entity-per-container and polymorphic container designs.
  • Operational guidance: Recommendations to detect existing partition patterns, reduce cross-partition fan-out, and monitor RU consumption.
  • Use Case: Design partitioning for an invoices container in a multi-tenant system to support tenant-isolated queries and monthly reporting without hot partitions.

Quick Start

Ask the skill to recommend a hierarchical partition key and query strategy for a Cosmos container storing multi-tenant invoices with high write volume.

Frequently Asked Questions about partition-strategy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose a Cosmos DB partition key to avoid hot partitions?

To choose a Cosmos DB partition key that avoids hot partitions, design a hierarchical partition key up to three levels, such as tenant, time, and discriminator, to distribute write volume evenly and support scoped queries.

What is a hierarchical partition key in Cosmos DB and when should I use it?

A hierarchical partition key in Cosmos DB is a multi-level key structure, up to three levels deep, used to optimize point reads and scoped queries in multi-tenant scenarios by combining tenant, time, and discriminator fields into a single PartitionKeyPath.

How do I reduce cross-partition query fan-out and RU consumption in Cosmos DB?

Reduce cross-partition query fan-out and RU consumption in Cosmos DB by constructing full or partial PartitionKey values that target specific logical partitions, ensuring query patterns align with your container's partition key design for tenant-isolated data.

What is the best way to design a multi-tenant Cosmos DB container for high write volume?

The best way to design a multi-tenant Cosmos DB container for high write volume is to use a polymorphic container design with a hierarchical partition key starting with the tenant identifier, enabling tenant-isolated queries and monthly reporting without hot partitions.

Does this partition key strategy work for microservice architectures?

Yes, this partition key strategy works for microservice architectures by providing guidance on choosing between entity-per-container and polymorphic container designs to optimize query patterns and RU consumption for distributed services.