Access the NEW Basecamp Support Portal

Replication (computing)

« Back to Glossary Index

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.

Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility.

« Back to Glossary Index

Request an article

Please let us know what you were looking for and our team will not only create the article but we'll also email you to let you know as soon as it's been published.
Most articles take 1-2 business days to research, write, and publish.
Content/Article Request Form

Submit your RFP

We can't wait to read about your project. Use the form below to submit your RFP!
Request for Proposal

Contact and Business Information

Provide details about how we can contact you and your business.

Quote Request Details

Provide some information about why you'd like a quote.