How Enterprise Replication Replicates Data
Before you can replicate data, you must declare a database server for replication and define the replicates (the data to replicate and the database servers that participate in replication). To declare a database server for replication, see Defining Replication Servers. To define replicates, see Define a replicate. Replication Examples, has simple examples of declaring replication servers and defining replicates.
After you define the servers and replicates, Enterprise Replication replicates data in three phases:
The following diagram shows these three phases of replication and the Enterprise Replication components that perform each task.
![The graphic is described in surrounding text.](replication_flow.gif)
As shown in the diagram, the following process describes how Enterprise Replication replicates a transaction:
- A client application performs a transaction in a database that is defined as a replicate.
- The transaction is put into the logical log.
- The log capture component, also known as the snoopy component, reads the logical log and passes the log records onto the grouper component.
- The grouper component evaluates the log records for replication and groups them into a message that describe the operations that were in the original transaction.
- The grouper component places the message in the send queue. Under certain situations, the send queue spools messages to disk for temporary storage.
- The send queue transports the replication message across the Enterprise Replication network to the target server.
- The replication message is placed in the receive queue at the target server.
- The data sync component applies the transaction in the target database. If necessary, the data sync component performs conflict resolution.
- An acknowledgment that the message was successfully applied is placed in the acknowledgment queue.
- The acknowledgment message is sent back to the source server.