cosmosdb-best-practices

📁 azurecosmosdb/cosmosdb-agent-kit 📅 Jan 21, 2026
117
总安装量
117
周安装量
#2007
全站排名
安装命令
npx skills add https://github.com/azurecosmosdb/cosmosdb-agent-kit --skill cosmosdb-best-practices

Agent 安装分布

github-copilot 83
claude-code 63
codex 60
opencode 55
antigravity 40

Skill 文档

Azure Cosmos DB Best Practices

Comprehensive performance optimization guide for Azure Cosmos DB applications, containing 45+ rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Designing data models for Cosmos DB
  • Choosing partition keys
  • Writing or optimizing queries
  • Implementing SDK patterns
  • Reviewing code for performance issues
  • Configuring throughput and scaling
  • Building globally distributed applications

Rule Categories by Priority

Priority Category Impact Prefix
1 Data Modeling CRITICAL model-
2 Partition Key Design CRITICAL partition-
3 Query Optimization HIGH query-
4 SDK Best Practices HIGH sdk-
5 Indexing Strategies MEDIUM-HIGH index-
6 Throughput & Scaling MEDIUM throughput-
7 Global Distribution MEDIUM global-
8 Monitoring & Diagnostics LOW-MEDIUM monitoring-

Quick Reference

1. Data Modeling (CRITICAL)

  • model-embed-related – Embed related data retrieved together
  • model-reference-large – Reference data when items get too large
  • model-avoid-2mb-limit – Keep items well under 2MB limit
  • model-denormalize-reads – Denormalize for read-heavy workloads
  • model-schema-versioning – Version your document schemas
  • model-type-discriminator – Use type discriminators for polymorphic data

2. Partition Key Design (CRITICAL)

  • partition-high-cardinality – Choose high-cardinality partition keys
  • partition-avoid-hotspots – Distribute writes evenly
  • partition-hierarchical – Use hierarchical partition keys for flexibility
  • partition-query-patterns – Align partition key with query patterns
  • partition-synthetic-keys – Create synthetic keys when needed
  • partition-20gb-limit – Plan for 20GB logical partition limit

3. Query Optimization (HIGH)

  • query-avoid-cross-partition – Minimize cross-partition queries
  • query-use-projections – Project only needed fields
  • query-pagination – Use continuation tokens for pagination
  • query-avoid-scans – Avoid full container scans
  • query-parameterize – Use parameterized queries
  • query-order-filters – Order filters by selectivity

4. SDK Best Practices (HIGH)

  • sdk-singleton-client – Reuse CosmosClient as singleton
  • sdk-async-api – Use async APIs for throughput
  • sdk-retry-429 – Handle 429s with retry-after
  • sdk-connection-mode – Use Direct mode for production
  • sdk-preferred-regions – Configure preferred regions
  • sdk-excluded-regions – Exclude regions experiencing issues
  • sdk-availability-strategy – Configure availability strategy for resilience
  • sdk-circuit-breaker – Use circuit breaker for fault tolerance
  • sdk-diagnostics – Log diagnostics for troubleshooting
  • sdk-serialization-enums – Serialize enums as strings not integers
  • sdk-emulator-ssl – Configure SSL and connection mode for Cosmos DB Emulator
  • sdk-java-content-response – Enable content response on write operations (Java)
  • sdk-java-spring-boot-versions – Match Java version to Spring Boot requirements
  • sdk-local-dev-config – Configure local development to avoid cloud conflicts

5. Indexing Strategies (MEDIUM-HIGH)

  • index-exclude-unused – Exclude paths never queried
  • index-composite – Use composite indexes for ORDER BY
  • index-spatial – Add spatial indexes for geo queries
  • index-range-vs-hash – Choose appropriate index types
  • index-lazy-consistent – Understand indexing modes

6. Throughput & Scaling (MEDIUM)

  • throughput-autoscale – Use autoscale for variable workloads
  • throughput-right-size – Right-size provisioned throughput
  • throughput-serverless – Consider serverless for dev/test
  • throughput-burst – Understand burst capacity
  • throughput-container-vs-database – Choose allocation level wisely

7. Global Distribution (MEDIUM)

  • global-multi-region – Configure multi-region writes
  • global-consistency – Choose appropriate consistency level
  • global-conflict-resolution – Implement conflict resolution
  • global-failover – Configure automatic failover
  • global-read-regions – Add read regions near users
  • global-zone-redundancy – Enable zone redundancy for HA

8. Monitoring & Diagnostics (LOW-MEDIUM)

  • monitoring-ru-consumption – Track RU consumption
  • monitoring-latency – Monitor P99 latency
  • monitoring-throttling – Alert on throttling
  • monitoring-azure-monitor – Integrate Azure Monitor
  • monitoring-diagnostic-logs – Enable diagnostic logging

9. Design Patterns (HIGH)

  • pattern-change-feed-materialized-views – Use Change Feed for cross-partition query optimization

How to Use

Read individual rule files for detailed explanations and code examples:

rules/model-embed-related.md
rules/partition-high-cardinality.md
rules/_sections.md

Each rule file contains:

  • Brief explanation of why it matters
  • Incorrect code example with explanation
  • Correct code example with explanation
  • Additional context and references

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md