Hi, I’m trying to understand how to achieve the best DB latency possible for a web service deployed to 3 distant geographic regions. Most workloads are regional in nature. It’s mainly organizations operating on their own isolated data.
The control: AWS RDS Postgres with a single master and two regional asynchronous read replicas. Reads go to regional endpoints and are quick, but writes need to reach the master. That and the sync delay make for 2x cross-region latency on an update.
CRDB free. As I understand, the follow-the-workload mechanism would apply. But a range might contain data from customers in different regions and see contention for regional placement. Even as customers come online with the sun, this strikes me as a fair amount of network shuffling. Depending on where ranges are, reads and writes might take multiple cross-region latencies, at least for a while.
CRDB enterprise. Table partitioning would allow row pinning to a region, but the region-aware partition key needs to be an explicit column in every table. As long as that’s satisfied and there are enough regional nodes for the replication factor, all reads and writes would be local.
Is this roughly accurate? Are there other ways to optimize latency for 2) CRDB free?