Supported and Unsupported Topologies

Make sure you use a supported multi-site topology and understand why invalid topologies can lead to data inconsistency.


See also Limitations of Multi-Site Replication.

Supported Topologies

SQLFire supports WAN topologies that use gateways to connect each individual distributed system to each other distributed system in the WAN. This parallel network topology is a robust configuration in which any one of the sites can go down without disrupting communication between the remaining sites. This configuration also guarantees that no site receives multiple copies of the same DML operation.

The parallel topology for three sites is shown in the following figure. In this scenario, a DML operation originating in any site is distributed to the remaining two sites, and neither site forwards the event further. If any site is removed, the other two maintain a parallel topology.



An example sequence of event routing:
  1. A configured table in Site 1 is updated.
  2. Site 1 distributes a DML event to both Site 2 and Site 3. The DML event lists Site 1 as the originator, and sites 2 and 3 as the destinations.
  3. Site 2 receives and applies the DML event. Although Site 2 is configured to replicate table DML operations to Site 3, the DML event indicates that Site 3 is already a destination for the DML operation, so it does not forward the event to Site 3.
  4. Site 3 receives and applies the DML event. Although Site 3 is configured to replicate table DML operations to Site 2, the DML event indicates that Site 2 is already a destination for the DML operation, so it does not forward the event to Site 2.

In other words the parallel topology ensures that under normal operating conditions, a DML operation at any one site is applied once and only once to every other connected site in the WAN.

Unsupported Topologies

Any topology in which one or more of the configured WAN sites does not contain a gateway to every other WAN site can lead to a variety of problems, and is unsupported. The most significant problem occurs when sites are configured so that one or more sites receive multiple copies of the same DML event.

For example, in the following unsupported configuration causes site 4 to apply the same DML event multiple times.



The sequence of event routing is:
  1. A configured table in Site 1 is updated.
  2. Site 1 distributes a DML event to both Site 2 and Site 3. The DML event lists Site 1 as the originator, and sites 2 and 3 as the destinations.
  3. Site 2 receives and applies the DML event. However, it is configured to distribute DML operations for the table to Site 4. Because the DML event from Site 1 does not list Site 4 as a destination, it forwards the event to Site 4. The DML event lists Site 2 as the originator and Site 4 as the destination.
  4. Site 3 receives and applies the DML event. However, it is also configured to distribute DML operations for the table to Site 4. Because the DML event from Site 1 does not list Site 4 as a destination, it also forwards the event to Site 4. The DML event lists Site 3 as the originator and Site 4 as the destination.
  5. Site 4 receives the DML events sent from Sites 2 and 3. Because each event has a unique originator, there is no way to determine that both events originated from the single DML operation in Site 1. Site 4 applies both DML events, and the table now contains inconsistent data in Site 4.