Grow a Multi-Region RDBMS cluster
Add a region to a running Multi-Region RDBMS cluster through the cluster management API, and plan the partition count.
Learn how to grow a Multi-Region RDBMS cluster from two regions to three or more.
You can add a zone to a running cluster without changing the brokers that already run. Each broker ID combines a zone name and an index, such as london_0. A new zone brings new IDs and leaves the existing ones as they are.
Declare only the zones you deploy
Every zone in the zone list must have its brokers running when the cluster bootstraps. Don't declare a zone to reserve it for later growth. Add it through the management API after its brokers run.
A zone in the zone list receives partition replicas even if its brokers don't run. A declared zone without brokers leaves every partition one zone short. For example, if you declare a 2-2-1 layout but deploy only the first two zones, each partition runs four of five replicas. Losing either database zone then stops processing.
Add a zone to the running cluster
- Start the brokers of the new zone.
- Add the zone with the Add or re-add a zone request. The request body needs
numberOfReplicas,priority, and eithernumberOfBrokersorbrokers. - Wait for the change to report
COMPLETED. Follow it with the Monitoring API.
The engine places the zone's replicas and raises the replication factor in one change. No broker is renumbered, and the regions already running aren't restarted.
| Zones running | Layout | Replication factor | After losing one zone |
|---|---|---|---|
| Two | 2-2 | 4 | Two of four replicas: processing stops |
| Three | 2-2-1 | 5 | Three of five replicas at worst: processing continues |
Plan the partition count
Adding a zone doesn't change the partition count. To raise it, use partition scaling, before or after you add the zone but not during the same change. The reference implementation sizes the partition count on the provisioned region slots, so it already fits the largest topology it can grow into.