Asynchronous Data Replication
Enterprise Replication uses asynchronous data replication to update the databases that reside at a replicated site after the primary database has committed a change.
With asynchronous replication, the delay to update the replicated-site databases can vary depending on the business application and user requirements. However, the data eventually synchronizes to the same value at all sites. The major benefit of this type of data replication is that if a particular database server fails, the replication process can continue and all transactions in the replication system will be committed.
In contrast to this, synchronous data replication replicates data immediately when the source data is updated. Synchronous data replication uses the two-phase commit technology to protect data integrity. In a two-phase commit, a transaction is applied only if all interconnected distributed sites agree to accept the transaction. Synchronous data replication is appropriate for applications that require immediate data synchronization. However, synchronous data replication requires that all hardware components and networks in the replication system be available at all times. For more information about synchronous replication, refer to the discussion of two-phase commit in your Informix® Administrator's Guide.
Asynchronous replication is often preferred because it allows for system and network failures.
- Primary-target (Primary-Target Replication System)
All database changes originate at the primary database and are replicated to the target databases. Changes at the target databases are not replicated to the primary.
- Update-anywhere (Update-Anywhere Replication System)
All databases have read and write capabilities. Updates are applied at all databases.
The update-anywhere model provides the greater challenge in asynchronous replication. For example, if a replication system contains three replication sites that all have read and write capabilities, conflicts occur when the sites try to update the same data at the same time. Conflicts must be detected and resolved so that the data elements eventually have the same value at every site. For more information, see Conflict Resolution.