DISTRIBUTED SYSTEM
CHAPTER 10 : CASE STUDY
LAB WORK SOLUTION- DISTRIBUTED SYSTEM
DISTRIBUTED SYSTEM -BCA -ALL SLIDES
MCQ- DISTRIBUTED SYSTEM

REPLICATION 

In distributed systems, replication refers to the practice of maintaining multiple copies of data or services across different nodes (computers) in a network. This redundancy serves several purposes related to reliability, availability, and performance.

 

Reasons for Replication

Fault Tolerance and Reliability: By replicating data across multiple nodes, the system becomes more resilient to failures. If one node fails, other nodes can still provide the required data or service, ensuring continuous operation.

Improved Availability: Replication can improve the availability of data or services by placing copies closer to users or clients. This reduces latency and improves response times since data can be served from the nearest or least loaded replica.

Load Balancing: Distributing requests across multiple replicas helps balance the load on the system. Requests can be directed to the replica that is least busy or geographically closest to the requester, improving overall performance.

Scaling: Replication supports horizontal scaling by allowing additional replicas to be added as the system grows. This can be more cost-effective than vertically scaling a single node.

Caching: Replicas can also be used as caches to store frequently accessed data, reducing the need to fetch data from the primary storage or source.

Types of Replication

Explicit Replication:

  • Explicit replication involves explicitly specifying which data or operations should be replicated across multiple nodes or replicas within the system.
  • Examples:
    • Replicating critical configuration data across nodes in a cloud environment.
    • Replicating frequently accessed files or databases across different data centers.

Lazy Replication:

  • Lazy replication, also known as asynchronous replication, involves delaying the propagation of updates to replicas after they have been applied to the primary copy.
  • Examples:
    • Database systems using asynchronous replication to improve write performance and tolerate network latency.
    • File synchronization tools that update replicas only when the primary copy changes, optimizing bandwidth usage.

Group Communication:

  • Group communication replication involves coordinating and synchronizing updates across a group or cluster of nodes using a communication protocol.
  • Examples:
    • Distributed messaging systems using group communication protocols (e.g., Paxos, Raft) to achieve consensus and ensure that all nodes receive and process messages in a coordinated manner.
    • Distributed databases employing group replication for maintaining data consistency and fault tolerance across multiple database nodes.