Can the Disaster Recovery (DR) Database Be Used to Serve Read-Only Queries?


In the FoundationDB architecture document’s Backup Vs DR section, it states that “while a cluster is being used as the destination for a DR operation it will be locked to prevent accidental use or modification”. For my application, it is acceptable that data being read lags behind the primary database for some time. My question is: can the DR database be configured to support read-only queries during its normal synchronization, in which the database continuously receives the transaction logs from the primary database and applies the logs to the DR database?

The DR database itself can not be configured in this way. But your application can use the LOCK_AWARE transaction option for enabling such queries.

There’s also a READ_LOCK_AWARE option for reading from locked databases that disallows commits, so that you don’t accidentally edit your backup database

Thanks for the response. Currently, my FDB cluster is deployed following “asymmetric configuration” recommended in the architecture document, Configuration — FoundationDB 7.1, with two regions. At the “west coast” region, I have two datacenters (with one of them being the satellite log store), and at the “east coast” region, only one datacenter.

I have the following questions regarding how this DR cluster to be deployed,
(1) can this DR cluster be also constructed by following the same “asymmetric configuration”, that is, with the “west coast” region and the “east coast” region? Or this DC cluster can only follow either “single datacenter mode” or “datacenter-aware mode”?
(2) where should the DR agents be deployed in my current FDB cluster with asymmetric configuration, to ship the mutation logs to the DR cluster? Is that in the primary datacenter? what if the primary datacenter gets switched from the “west coast” region to the “east coast” region?
(3) the same question in (2) goes to the DR cluster, if the DR cluster can be configured with “asymmetric configuration”.