designing-multi-region-applications

Guide multi-region CockroachDB topology selection with REGIONAL BY ROW, geo-partitioning, and GLOBAL tables.

3|3|Updated Mar 11, 2026
One-click install
npx skills add https://github.com/cockroachdb/claude-plugin --skill designing-multi-region-applications
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: designing-multi-region-applications
Source: https://github.com/cockroachdb/claude-plugin/tree/main/skills/application-development/designing-multi-region-applications
Command: npx skills add https://github.com/cockroachdb/claude-plugin --skill designing-multi-region-applications

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Guides developers in selecting and implementing multi-region patterns for CockroachDB applications, enabling decision-making between REGIONAL BY ROW, manual geo-partitioning, and GLOBAL tables, and providing a live-demo framework.

Core Features & Use Cases

  • Pattern selection guidance for multi-region applications (active-active vs active-passive) and when to apply REGIONAL BY ROW, manual geo-partitioning, or GLOBAL tables.
  • Demo-ready guidance with live validation queries and a hands-on framework to compare approaches across regions.
  • Practical implementation steps, safety checks, and a ready-to-run demo blueprint to accelerate team onboarding.

Quick Start

Set up a multi-region CockroachDB demo cluster and begin with REGIONAL BY ROW to observe local latency behavior.

Frequently Asked Questions about designing-multi-region-applications

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

FAQPage Schema
How do I choose between regional-by-row and global tables for my CockroachDB application?

Choosing between regional-by-row and global tables depends on your access pattern: regional-by-row optimizes for local reads and writes of region-specific data, while global tables optimize for low-latency reads of infrequently updated reference data across all regions.

What is the best way to model multi-region data in CockroachDB for active-active workloads?

The best way to model multi-region data for active-active workloads in CockroachDB is using regional-by-row, which partitions table data by region to ensure local latency for regional operations while maintaining global consistency.

How do I set up a live demo to compare CockroachDB multi-region patterns?

To set up a live demo comparing CockroachDB multi-region patterns, use the provided demo-ready framework to configure a multi-region cluster, apply regional-by-row or geo-partitioning schemas, and run validation queries to observe latency behavior across regions.

When should I use manual geo-partitioning instead of regional-by-row in CockroachDB?

You should use manual geo-partitioning instead of regional-by-row when you need fine-grained control over data placement beyond a single region key, such as partitioning data by specific geographical boundaries or custom locality requirements for compliance.

Does CockroachDB support geo-partitioning for low-latency multi-region applications?

CockroachDB fully supports geo-partitioning for low-latency multi-region applications through regional-by-row table configurations and manual geo-partitioning, enabling localized data access and validation via structured demo environments.

What are the limitations of global tables in CockroachDB multi-region deployments?

Global tables in CockroachDB multi-region deployments face limitations with write latency, as every write incurs a cross-region consensus round-trip, making them unsuitable for high-frequency data mutations but ideal for rarely updated reference data.