intermediatebig-data

Data Replication & Fault Tolerance

Machines fail constantly at scale — the system has to expect that and survive it anyway.

Key Points

What it is

Data replication means keeping multiple copies of the same data on different machines, so that if one machine fails, the data is still available from another copy. Fault tolerance is the broader ability of a distributed system to keep working correctly even when individual components fail.

Why it exists

A single server failing once in a while is manageable. A cluster of thousands of servers will have failures happening continuously as a statistical certainty. Replication and fault tolerance exist because distributed systems must be designed from the ground up to expect and gracefully survive constant partial failure, rather than treating it as a rare exception.

Intuition

A small local shop with one register can survive that register briefly breaking by just apologizing to customers for a few minutes. A massive 24/7 operation running thousands of registers simultaneously cannot treat 'a register might break' as a rare surprise — it must be built assuming registers are always breaking somewhere, with backups and rerouting already planned in.

When to use

When not to use

Common mistakes

In practice

Underpins the reliability of every major big data storage system — HDFS, Cassandra, Kafka, and cloud object stores all use replication to guarantee that data survives individual machine or even entire data-center failures.

Was this concept helpful?

Spot an error or gap? Suggest an edit →

Related concepts

hdfscap-theoremnosql-databasesdistributed-computing-basics
Chirp at me!