Hi folks, I’ve been digesting the region configuration docs and am hoping to check my understanding. How would you recommend configuring an FDB cluster to achieve the following?
- synchronous replication of transaction logs to two nearby “fault domains”
- asynchronous replication to a distant “fault domain”
- local replicas of each key in three nearby “fault domains”
- at least one replica in the distant “fault domain”
I’m specifically using “fault domain” here because I think I might be struggling a bit with the semantics of regions, datacenters, and data halls and the way those map to concepts in public cloud infrastructure. The example given in the docs covers requirements 1, 2, and 4, but then we bump into the fact that there can only be one primary datacenter in a region. If that datacenter fails then we need to failover the entire region.
The documentation suggests to map “datacenter” to “availability zone” in cloud infrastructure, but what about treating an AZ as a data hall? It seems to me that this would allow something like
- configure each region with one datacenter
three_data_hallredundancy with the AZ as
- omit the
which would hit all 4 requirements. Does that make sense? Or is it a design point of FoundationDB’s region support saying “if an availability zone fails, we’re getting the heck out of the region ASAP”
One other related question: is it possible to set a different redundancy mode in the “backup” region’s primary datacenter? I see some reference in the code to parameters like
remote_redundancy_mode; is that relevant here?