Replication
Replication and its Reasons
- Replication is the mechanism of maintenance of multiple copies of data at multiple computers.
- It helps to make distributed system effective by enhancing performance.
Reasons for Replication
1. Performance enhancement
- The copy of data placed in the proximity of the process using that data decreases the time to access the data.
- This enhances performance of the distributed system.
- Eg: Web browsers store a copy of previously fetched web page locally as a cached data to reduce latency of fetching resources from the server.
2. Increased availability
- Users always want the services to be highly available.
- Replication helps in data redundancy i.e. availability of data even if the server fails.
- If each of n servers has independent probability p of crashing, then the availability of resources at each server is 1-pn
3. Fault Tolerance
- Even if one server fails, the data on other servers are provided to the users.
Problems with Replication
Inconsistency:
- If a copy is modified, the copy becomes inconsistent from the rest of the copies.
- To ensure consistency, all the copies should be modified.
Consistency Models
- Consistency model is the contract between processes and the data store.
- Whenever a read operation is done, it should return a value showing the last write operation on data. But due to lack of global clock, it is difficult to determine last write operation.
Types of Consistency
------------------------
1. Strict Consistency
- Any read to shared data returns value stored by the most recent write.
- It makes use of absolute time ordering of all shared resources.
- It is unrealistic for distributed system as it requires absolute global time.
2. Sequential Consistency
- The result of any execution is same as if operations of all processes were executed in some sequential order.
3. Causal Consistency
- Writes that are causally related must be seen by all the processes in the same order.
Object Replication
- Data in the distributed system contains collection of items. These items are called objects.
- An object can be file or object generated by programming paradigm.
- Object replication is the mechanism to form physical replicas of such objects, each stored at single computer and tied to some degree of consistency.
Problem:
- If objects are shared, the concurrent accesses to the shared objects should be managed to guarantee state consistency.
Solution:
- The process of handling concurrent invocations are shown in given figure:
Ⓒ Copyright ESign Technology 2019. A Product of ESign Technology. All Rights Reserved.