Bird
Raised Fist0
DBMS Theoryknowledge~6 mins

Replication strategies in DBMS Theory - Full Explanation

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
When data is stored in multiple places, it helps keep it safe and available even if one place fails. But copying data everywhere can be tricky and slow. Replication strategies solve this by deciding how and when data should be copied between systems.
Explanation
Master-Slave Replication
In this strategy, one database acts as the master where all changes happen. The other databases, called slaves, copy data from the master but do not accept changes themselves. This keeps data consistent but can slow down if the master is busy.
Master-Slave replication copies data from one main source to others that only read.
Master-Master Replication
Here, multiple databases can accept changes and share updates with each other. This allows more flexibility and availability but requires careful conflict handling when two places change the same data at once.
Master-Master replication lets multiple databases update data and sync with each other.
Synchronous Replication
Data changes are copied to all replicas at the same time before confirming success. This ensures all copies are always the same but can slow down operations because they wait for all copies to update.
Synchronous replication keeps all copies exactly the same by updating them together.
Asynchronous Replication
Changes are sent to replicas after the main database confirms success. This is faster but means replicas might be slightly behind the master for a short time.
Asynchronous replication updates copies after the main change, allowing faster operations but temporary differences.
Real World Analogy

Imagine a teacher (master) writing notes on a board while students (slaves) copy them. In one class, only the teacher writes, and students just watch. In another, several teachers write on different boards and share notes to keep up. Sometimes, students copy notes immediately; other times, they copy later after class.

Master-Slave Replication → One teacher writes notes, and students copy without changing them.
Master-Master Replication → Multiple teachers write notes and share updates with each other.
Synchronous Replication → Students copy notes at the same time as the teacher writes them.
Asynchronous Replication → Students copy notes after the teacher finishes writing.
Diagram
Diagram
┌───────────┐        ┌───────────┐
│  Master   │───────▶│  Slave 1  │
└───────────┘        └───────────┘
      │                   ▲
      │                   │
      ▼                   │
┌───────────┐             │
│  Slave 2  │─────────────┘
└───────────┘

Master-Master:
┌───────────┐     ┌───────────┐
│ Master 1  │◀───▶│ Master 2  │
└───────────┘     └───────────┘
The diagram shows Master-Slave replication with one master sending data to multiple slaves, and Master-Master replication with two masters syncing data between each other.
Key Facts
ReplicationThe process of copying data from one database to another to increase availability and reliability.
Master-Slave ReplicationA replication method where one database handles writes and others copy data without changes.
Master-Master ReplicationA replication method where multiple databases can accept writes and synchronize changes.
Synchronous ReplicationReplication where data is copied to all replicas before confirming the operation.
Asynchronous ReplicationReplication where data is copied to replicas after the main operation is confirmed.
Common Confusions
Believing that Master-Slave replication allows slaves to accept data changes.
Believing that Master-Slave replication allows slaves to accept data changes. In Master-Slave replication, only the master can accept changes; slaves only copy data and do not accept writes.
Thinking synchronous replication is always faster than asynchronous.
Thinking synchronous replication is always faster than asynchronous. Synchronous replication waits for all copies to update, which can slow down operations compared to asynchronous replication.
Assuming Master-Master replication never has conflicts.
Assuming Master-Master replication never has conflicts. Master-Master replication can have conflicts when multiple masters change the same data, requiring conflict resolution.
Summary
Replication strategies decide how data is copied between databases to keep it safe and available.
Master-Slave replication has one main source and read-only copies, while Master-Master allows multiple writable sources.
Synchronous replication updates all copies together for consistency, whereas asynchronous replication updates copies later for speed.

Practice

(1/5)
1. Which replication strategy involves one main server handling all writes and one or more servers copying data from it?
easy
A. Master-Slave replication
B. Master-Master replication
C. Peer-to-Peer replication
D. Snapshot replication

Solution

  1. Step 1: Understand Master-Slave replication

    In this strategy, one server (master) handles all write operations, and other servers (slaves) copy data from it.
  2. Step 2: Compare with other strategies

    Master-Master allows multiple masters; Peer-to-Peer is decentralized; Snapshot copies data at intervals.
  3. Final Answer:

    Master-Slave replication -> Option A
  4. Quick Check:

    One main write server = Master-Slave [OK]
Hint: Master-Slave means one master writes, slaves copy [OK]
Common Mistakes:
  • Confusing Master-Slave with Master-Master
  • Thinking slaves can write data
  • Mixing snapshot with continuous replication
2. Which of the following is the correct syntax to describe Master-Master replication?
easy
A. Two servers both accept writes and replicate changes to each other
B. One server writes, others read only
C. Data is copied only once at setup
D. Servers do not communicate

Solution

  1. Step 1: Define Master-Master replication

    Both servers can accept writes and replicate changes to each other to keep data synchronized.
  2. Step 2: Eliminate incorrect options

    Data is copied only once at setup describes snapshot; One server writes, others read only describes Master-Slave; Servers do not communicate is not replication.
  3. Final Answer:

    Two servers both accept writes and replicate changes to each other -> Option A
  4. Quick Check:

    Master-Master means both write and sync [OK]
Hint: Master-Master means both servers write and sync [OK]
Common Mistakes:
  • Thinking only one server writes in Master-Master
  • Confusing snapshot with replication
  • Assuming no communication means replication
3. Consider a Master-Slave replication setup where the master server receives 100 write requests per second. If slaves replicate with a delay of 2 seconds, what is the expected delay in data consistency on slaves?
medium
A. Immediate consistency
B. No delay, slaves write directly
C. 2 seconds delay
D. 100 seconds delay

Solution

  1. Step 1: Understand replication delay

    Slaves replicate data from master with a 2-second delay, so data on slaves lags behind master by 2 seconds.
  2. Step 2: Analyze options

    Immediate consistency means no delay, which is incorrect. 100 seconds delay is unrelated to request rate. Slaves do not write directly.
  3. Final Answer:

    2 seconds delay -> Option C
  4. Quick Check:

    Replication delay = 2 seconds [OK]
Hint: Replication delay equals slave lag time [OK]
Common Mistakes:
  • Confusing request rate with delay time
  • Assuming slaves write directly
  • Thinking slaves are always immediately consistent
4. A database administrator sets up Master-Master replication but notices data conflicts when both servers write the same record simultaneously. What is the best way to fix this?
medium
A. Allow only one server to write at a time without syncing
B. Switch to Master-Slave replication
C. Disable replication entirely
D. Implement conflict resolution rules or use timestamps

Solution

  1. Step 1: Identify cause of conflicts

    Simultaneous writes cause conflicts in Master-Master replication because both servers can change the same data.
  2. Step 2: Apply conflict resolution

    Using rules like timestamps or last-write-wins helps resolve conflicts automatically.
  3. Final Answer:

    Implement conflict resolution rules or use timestamps -> Option D
  4. Quick Check:

    Conflict resolution fixes simultaneous writes [OK]
Hint: Use conflict rules to fix Master-Master write clashes [OK]
Common Mistakes:
  • Thinking disabling replication solves conflicts
  • Switching to Master-Slave without need
  • Ignoring conflict resolution mechanisms
5. You want a replication strategy that provides high availability and allows writes on multiple servers but can tolerate occasional conflicts. Which strategy fits best?
hard
A. Master-Slave replication
B. Master-Master replication
C. Snapshot replication
D. No replication

Solution

  1. Step 1: Analyze requirements

    High availability and multiple write servers require a strategy where more than one server can accept writes.
  2. Step 2: Match strategy to needs

    Master-Master replication allows multiple write servers but may have conflicts; Master-Slave does not allow multiple writes.
  3. Final Answer:

    Master-Master replication -> Option B
  4. Quick Check:

    Multiple writes + availability = Master-Master [OK]
Hint: Multiple write servers need Master-Master replication [OK]
Common Mistakes:
  • Choosing Master-Slave for multiple writes
  • Ignoring conflict tolerance
  • Thinking snapshot replication supports writes