Chapter 11. Multiregion Deployment

Multiregion deployments allow a CockroachDB database to span multiple geographic regions, The configuration of a multiregion deployment has implications for the cluster’s fault-tolerance and for regional performance. Generally speaking, we configure a CockroachDB cluster into regions to achieve one or both of two objectives:

  • To allow the cluster to continue servicing requests when the computing resources in one of the cluster’s regions becomes unavailable.

  • To ensure that users of a geographically distributed database can enjoy low-latency database operations.

These two objectives are not completely incompatible, but there are some trade-offs involved between the two. It’s important to understand how to balance latency and high availability in a manner that suits your circumstances.

Multiregion Concepts

The multiregion capabilities of CockroachDB exercise some of CockroachDB’s most unique architectural features. Some of the underlying algorithms can be challenging. However, the core concepts of a multiregion CockroachDB helpfully abstract much of that around simple concepts such as regions, zones, and survival goals.

Regions and Zones

A region is a broad geographical region that has a set of CockroachDB nodes deployed within it. Regions can be anything you want them to be, but it only really makes sense to define a region across an area that either has some sort of network adjacencies, distinct workload or user characteristics, or legal ...

Get CockroachDB: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.