Replication is a form of data synchronization
that is used to ensure that changes in the data
environment are reflected in each instance of the data
. That is, whenever a change is made in one replica
instance, that same change is also made in every replica
Replication may be performed in Distributed systems or Decentralised systems.
is wehn every replica processes the same request.
is when one replica processes the request and then distributes the result to other replicas.
is when one master replica
is designated to process all the requests and maintain the state
is when any replica
processes a request and then distributes a new state
A number of widely cited models exist for data
Replication, each having its own properties and performance:
- Transactional replication - Is used for replicating transactional data fitting ACID properties.
- Stateful Replication - Is a Framework which assumes that there is a known state that is transitioned to a new known state and are often used within Distributed Consensus protocols. Stateful Replication is may be implemented by a replicated log consisting of multiple subsequent rounds of the Paxos Protocols.
- Virtual synchrony. This computational model is used when a group of processes cooperate to replicate in-memory data or to coordinate actions. The model defines a distributed entity called a process group. A process can join a group, and is provided with a checkpoint containing the current state of the data replicated by group members. Processes can then send multicasts to the group and will see incoming multicasts in the identical order. Membership changes are handled as a special multicast that delivers a new membership view to the processes in the group.
Many LDAP Server Implementations
use Replication to provide Eventual consistency data Store
There might be more information for this subject on one of the following: