Help Center/ TaurusDB/ User Guide/ RegionlessDB Clusters (OBT)/ Using a RegionlessDB Cluster for Remote Multi-Active DR
Updated on 2026-02-14 GMT+08:00

Using a RegionlessDB Cluster for Remote Multi-Active DR

Scenarios

If your workloads are deployed in multiple regions, you can create a RegionlessDB cluster to access databases from the nearest region. As shown in Figure 1, a RegionlessDB cluster contains a primary instance and two standby instances. The primary instance receives and processes read and write requests, while the standby instances receive only read requests. After write forwarding is enabled, the standby instances can receive write requests and then forward them to the primary instance for processing. After data is written to the primary instance, the data is synchronized to the standby instances, reducing the cross-region network latency. Write forwarding simplifies the data write process. You can directly connect a database service through a standby instance's IP address to perform read and write operations. In addition, consistency is ensured and the nearby read is not affected.

Figure 1 Remote multi-active principle

RegionlessDB Cluster Constraints

For details, see Constraints.

Write Forwarding Constraints

  • When write forwarding is enabled, user _@gdb_WriteForward@_ is created. Do not modify or delete the user, or write forwarding cannot run properly.
  • For commands that can be implicitly committed, if write forwarding is not supported, the transactions corresponding to the current node and primary node are automatically committed.
  • For the global consistency level, before accessing data for the first time, each transaction needs to use a connection in the session pool to obtain a data point (LSN) from the primary node. If no sessions are available, the command for reading data may fail.
  • If there is a connection error when a user uses a session for write forwarding and the user is in a multi-statement transaction, the server proactively closes the connections to the client and the primary node, ensuring that the client can detect the error.
  • The versions of the primary and standby instances must be the latest.
  • Write operations are finally forwarded to and processed by the primary node. If a temporary table with the same name exists in the given database of the primary and read replicas, the data on the primary node is used.
  • If there is a failover for a standby instance in a RegionlessDB cluster, the write forwarding parameters (rds_open_write_forwarding and rds_write_forward_read_consistency) are restored to the default values.
  • Table 1 lists all supported and unsupported scenarios.
    Table 1 Scenarios supported and not supported by write forwarding

    Constraints

    Description

    Supported scenarios

    • Write forwarding is only available when the transaction isolation level of the standby instances is RR.
    • Write forwarding supports the following commands:
      • SQLCOM_UPDATE
      • SQLCOM_INSERT
      • SQLCOM_DELETE
      • SQLCOM_INSERT_SELECT
      • SQLCOM_REPLACE
      • SQLCOM_REPLACE_SELECT
      • SQLCOM_DELETE_MULTI
      • SQLCOM_UPDATE_MULTI
      • SQLCOM_ROLLBACK
      If an unsupported command is executed, the following error information is displayed.
      ERROR xxx (yyy): This version of MySQL doesn't yet support 'operation with write forwarding'.

      operation indicates the operation type that is not supported.

    Unsupported scenarios

    • In the current version, WARNING and RECORD information cannot be displayed when a standby instance forwards write requests.
    • In the current version, SQL requests that are being executed cannot be interrupted when a standby instance forwards write requests.
    • SELECT FOR UPDATE statements are not supported.
    • EXPLAIN write forwarding statements are not supported.
    • The statements for write forwarding cannot contain SET VARIABLE.
    • SAVEPOINT is not supported when write forwarding is enabled.
    • Write forwarding is not supported in XA transactions.
    • Currently, START TRANSACTION READ WRITE is not supported. You can directly use START TRANSACTION to test write forwarding.
    • Write forwarding is not supported in stored procedures.
    • When write forwarding is enabled, temporary tables cannot be created. To create temporary tables, disable write forwarding temporarily.

Procedure