How does CockroachDB deals with the latency of meta data in a global cluster

Beginning from the early release, I can see CockroachDB has been striving to run all data in the global cluster which can survive the regional failure. In the recent release 21.1, there is new SQL clause such as SURVIVE {ZONE, REGION} FAILURE.
But I have a question of the meta data. From the perspective of many application teams, they want to set up the service in multiple regions, write the data once (to one of the region service) and the data will be replicated automatically to other regions, considering there is no dedicated connection between regions. So they don’t need to take care the data change between the regional services. For example, in CockroachDB, I’m thinking to set up a cluster and create a table with 7 replicas (4 in the primary-write region, 2 in each other region). So I can write to the primary region and easily get more than half followers’ response (low latency since in the same region) and the data will be slowly replicated to the rest followers in the other 2 regions. If enabled READ-FROM-FOLLOWER, users in each region can read the data quickly. However, I don’t know how to configure the locality of meta data, since all nodes in all region will need to access(READ/WRITE) the meta data. Does CockroachDB has any advice about it?

Hi @cindyzqt welcome to the forum! This is a great observation you’ve made. What you are asking is not possible currently, but we also think it could be a helpful idea in some cases. We have this github issue to track this, but don’t currently have a plan for working on this right away.

1 Like