Replication
Noun · Development
Definitions
Keeping copies of the same data on multiple machines, so that a system can survive the loss of a node, serve reads from several places, and place data closer to users. The most common arrangement is single-leader, also called primary-replica, where all writes go to one node and are streamed to followers that serve reads. Multi-leader replication accepts writes at several nodes and must resolve conflicting updates, while leaderless systems in the style of Amazon's Dynamo write to and read from several replicas and use quorums to decide what is current. Replication can be synchronous, where a write is acknowledged only once replicas confirm it, or asynchronous, which is faster but means replicas can lag behind, so a user may briefly fail to see their own write. Databases replicate either physically, by shipping the storage engine's write-ahead log, or logically, by sending row-level changes. Replication is not a backup: an accidental delete is copied to every replica.
In plain English: Keeping identical copies of your data on multiple servers so that if one goes down, the others still have everything.
Example: "We set up PostgreSQL streaming replication to a hot standby in another AZ."