In a synchronous replication model, data replication occurs within the scope of the original transaction. In other words, replication occurs transaction by transaction. Typically, this model is implemented using a
two-phase commit protocol. Two-phase commit ensures that distributed transactions occur consistently across databases. For more information, see
DistributedTransaction Processing
Because the data modifications are replicated as part of the original transaction, synchronous replication ensures high data availability and consistency. The entire transaction is either committed to both systems or backed out completely.
Asynchronous replication (also known as store and forward replication) allows the replication to occur outside the scope of the original transaction. The replication might take place seconds, minutes, hours, or days from the time of the transaction, depending on your business requirements. Although the replication executes record by record, replication can occur by transaction. That is, if an order is placed in the system with order lines containing multiple data changes and these changes are made within the scope of a single transaction, the changes can be replicated as a single transaction.