Skip to main content
Glossary Term

Replication (computing)

Terminology and Models of Replication - Replication in computing can refer to data replication or computation replication. - Data replication involves storing the same data on multiple storage devices. - Computation replication involves executing the same computing task multiple times. - Computational tasks can be replicated in space or in time. - Replication in space refers to executing tasks on separate devices. - Replication in time refers to executing tasks repeatedly on a single device. - Replication in space or in time is often linked to scheduling algorithms. - Access to a replicated entity is typically uniform with access to a single non-replicated entity. - The replication itself should be transparent to an external user. - Three widely cited models for data replication are transactional replication, state machine replication, and virtual synchrony. - Transactional replication is used for replicating transactional data, such as a database. - State machine replication assumes that the replicated process is a deterministic finite automaton and that atomic broadcast of every event is possible. - Virtual synchrony involves a group of processes that cooperate to replicate in-memory data or coordinate actions. - State machine replication is usually implemented using the Paxos algorithm. - Virtual synchrony defines a distributed entity called a process group. - Database replication can be used on many database management systems (DBMS). - Multi-master replication allows updates to be submitted to any database node and ripple through to other servers. Replication in Distributed Systems - Replication transparency is achieved when data is replicated between database servers and users cannot tell or know which server they are using. - Replication becomes more complex when it scales up horizontally and vertically. - Problems raised by horizontal scale-up can be alleviated by a multi-layer, multi-view access protocol. - Replication in disk storage aims to prevent damage from failures or disasters. - Replication is one of the oldest and most important topics in distributed systems. - Replication ensures that replicas see the same events in equivalent orders, maintaining consistent states. - Replication transparency may not always be achieved due to constraints imposed by the CAP theorem or PACELC theorem. - Various data consistency models have been developed to serve as Service Level Agreements (SLA) between service providers and users. Cross-Site Replication - Latency determines the distance between sites or the type of replication used. - Write operations can be handled asynchronously or synchronously. - Synchronous replication guarantees zero data loss but decreases overall performance. - Asynchronous replication increases performance but may result in data loss. - Semi-synchronous replication offers better performance but lacks durability in case of local storage failure. - Replication is used in distributed fault-tolerant file systems. - Some commercial synchronous replication systems continue operating locally when the remote replica fails. - Wide-area network (WAN) optimization techniques can address latency limitations. File-Based Replication - Replication is performed at the logical level rather than the storage block level. - Different software-based methods are used for file-based replication. - Synchronous and asynchronous modes are available for file-level replication. - File-level replication allows for informed decisions based on file location and type. - Only changed data is replicated, reducing bandwidth usage. - Capture with a kernel driver involves intercepting filesystem functions to capture file operations. - Captured operations are transmitted to another machine for replication. - Synchronous mode waits for replication acknowledgment, while asynchronous mode does not. - File-level replication allows for more granular data transmission. - Batch replication involves comparing and synchronizing source and destination file systems. - Rsync is a notable implementation of batch replication. Performance and Optimization - Measurement of achieved performance levels of web applications. - Data replication strategies with performance objectives. - Dangers of replication and a solution. - Chain replication for high throughput and availability. - Object storage on CRAQ for read-mostly workloads. - WANdisco's active replication scheme. - Spread Toolkit supporting virtual synchrony model. - C-Ensemble and Quicksilver as alternatives to Spread Toolkit. - Modern multi-primary replication protocols optimizing for failure-free operation. - ITTIA DB SQL™ Users Guide on replication conflict resolution.