Applying replicated data

HCL Informix® Enterprise Replication uses a data-synchronization process to apply the replicated data to target database servers.

The target database servers acknowledge receipt of data when the data is applied to the target database. Data modifications that results from synchronization, including modifications that result from trigger invocation, are not replicated. The data-synchronization process ensures that transactions are applied at the target database servers in an order equivalent to the order that they were committed on the source database server. If consistency can be preserved, Enterprise Replication might commit transactions out of order on the target database.

When Enterprise Replication applies replication data, it checks to make sure that no collisions exist. A collision occurs when two database servers update the same data simultaneously. Enterprise Replication reviews the data one row at a time to detect a collision.

If Enterprise Replication finds a collision, it must resolve the conflict before applying the replication data to the target database server.
Figure 1. Collision Example
begin figure description - This figure is described in the surrounding text - end figure description

The previous illustration shows a situation that yields a conflict. Pakistan updates the row two seconds before Bangkok updates the same row. The Bangkok update arrives at the India site first, and the Pakistan update follows. The Pakistan time is earlier than the Bangkok time. Because both updates involve the same data and a time discrepancy exists, Enterprise Replication detects a collision.

For more information, see Conflict Resolution.

Enterprise Replication scans to see if the same replication key exists in the target table or in the associated delete table, or if a replication order error is detected. A delete table stores the row images of deleted rows. A replication order error is the result of replication data that arrives from different database servers with one of the following illogical results:
  • A replicated DELETE that finds no row to DELETE on the target
  • An UPDATE that finds no row to UPDATE on the target
  • An INSERT that finds a row that exists on the target

Copyright© 2018 HCL Technologies Limited