Bird
Raised Fist0
MongoDBquery~10 mins

Replica set architecture mental model in MongoDB - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Replica set architecture mental model
Client sends request
↓
Primary node receives
↓
Primary applies write
↓
Primary replicates to secondaries
↓
Secondaries apply write
↓
Secondaries acknowledge
↓
Primary confirms write success
↓
Client receives confirmation
↓
If primary fails
↓
Election starts
↓
New primary elected
↓
Clients redirect to new primary
The client sends requests to the primary node, which applies writes and replicates them to secondary nodes. If the primary fails, an election chooses a new primary to keep the system running.
Execution Sample
MongoDB
Client -> Primary: Write data
Primary -> Secondaries: Replicate data
Secondaries -> Primary: Acknowledge
Primary -> Client: Confirm write
If Primary fails -> Election -> New Primary
Shows the flow of a write operation and failover in a MongoDB replica set.
Execution Table
StepActionNode InvolvedState ChangeResult
1Client sends write requestClientRequest sent to PrimaryPrimary receives write
2Primary applies writePrimaryData written to PrimaryWrite successful on Primary
3Primary replicates writePrimary -> SecondariesWrite sent to SecondariesSecondaries receive write
4Secondaries apply writeSecondariesData written to SecondariesSecondaries updated
5Secondaries acknowledgeSecondaries -> PrimaryAcknowledgement sentPrimary receives acknowledgements
6Primary confirms writePrimary -> ClientConfirmation sentClient receives success
7Primary failsPrimaryPrimary goes downNo response from Primary
8Election startsSecondariesVote for new PrimaryOne Secondary elected Primary
9New Primary electedNew PrimaryBecomes PrimaryClients redirect writes here
💡 Execution stops after new primary is elected and clients redirect their requests.
Variable Tracker
VariableStartAfter Step 2After Step 4After Step 6After Step 7After Step 9
Primary statusUpUpUpUpDownUp
Secondaries statusUpUpUpUpUpUp
Write data stateNot writtenWritten on PrimaryWritten on SecondariesConfirmed to ClientConfirmedConfirmed
Client write statusNot sentSentWaitingSuccessWaiting for new PrimaryRedirected
Key Moments - 3 Insights
Why does the client send writes only to the primary node?
Because the primary node is the only one that accepts writes and replicates them to secondaries, as shown in execution_table rows 1 and 2.
What happens when the primary node fails during operation?
An election starts among secondaries to choose a new primary, as shown in execution_table rows 7 to 9, ensuring continuous availability.
How do secondaries confirm they have applied the write?
They send acknowledgements back to the primary, which then confirms success to the client, as shown in execution_table rows 4 and 5.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, at which step does the client receive confirmation that the write succeeded?
AStep 5
BStep 3
CStep 6
DStep 9
💡 Hint
Check the 'Result' column for when the client receives success confirmation.
According to variable_tracker, what is the status of the primary after step 7?
ADown
BUp
CUnknown
DRecovering
💡 Hint
Look at the 'Primary status' row after step 7.
If the primary fails, what is the next action in the replica set flow?
AClient retries write to primary
BSecondaries start election
CSecondaries shut down
DClient disconnects
💡 Hint
Refer to execution_table steps 7 and 8 for failover process.
Concept Snapshot
Replica set has one primary and multiple secondaries.
Client sends writes only to primary.
Primary applies writes and replicates to secondaries.
Secondaries acknowledge writes.
If primary fails, secondaries hold election.
New primary elected to maintain availability.
Full Transcript
In a MongoDB replica set, the client sends write requests to the primary node. The primary applies the write and then replicates it to the secondary nodes. The secondaries apply the write and send acknowledgements back to the primary. Once the primary receives acknowledgements, it confirms success to the client. If the primary node fails, the secondaries start an election to choose a new primary. After a new primary is elected, clients redirect their writes to the new primary, ensuring continuous operation.

Practice

(1/5)
1. What is the main purpose of a MongoDB replica set?
easy
A. To backup data manually every hour
B. To keep copies of data on multiple servers for safety and availability
C. To store data in different formats on the same server
D. To speed up queries by using multiple CPUs on one server

Solution

  1. Step 1: Understand replica set function

    A replica set keeps copies of data on multiple servers to protect against failure.
  2. Step 2: Compare options

    Only To keep copies of data on multiple servers for safety and availability describes this purpose correctly; others describe unrelated tasks.
  3. Final Answer:

    To keep copies of data on multiple servers for safety and availability -> Option B
  4. Quick Check:

    Replica set = data copies on servers [OK]
Hint: Replica sets = multiple copies for safety [OK]
Common Mistakes:
  • Confusing replica sets with sharding
  • Thinking replica sets speed up CPU usage
  • Believing backups are manual in replica sets
2. Which of the following is the correct way MongoDB decides the primary in a replica set?
easy
A. MongoDB automatically elects a primary among members
B. The server with the most data becomes primary
C. The oldest server is always primary
D. The user manually sets the primary server

Solution

  1. Step 1: Recall primary election process

    MongoDB automatically elects one server as primary to manage writes.
  2. Step 2: Eliminate incorrect options

    Primary is not chosen by data size, age, or manual setting.
  3. Final Answer:

    MongoDB automatically elects a primary among members -> Option A
  4. Quick Check:

    Primary election = automatic [OK]
Hint: Primary is chosen automatically, not manually [OK]
Common Mistakes:
  • Assuming user sets primary manually
  • Thinking data size decides primary
  • Believing oldest server is primary
3. Consider a replica set with one primary and two secondaries. If the primary goes down, what happens next?
medium
A. All secondaries become primary at the same time
B. The replica set stops working until the original primary returns
C. One of the secondaries is automatically elected as the new primary
D. The data is lost because there is no primary

Solution

  1. Step 1: Understand failover in replica sets

    If the primary fails, MongoDB elects a new primary from secondaries automatically.
  2. Step 2: Check other options

    Replica sets do not stop working, do not have multiple primaries, and do not lose data immediately.
  3. Final Answer:

    One of the secondaries is automatically elected as the new primary -> Option C
  4. Quick Check:

    Failover = automatic new primary [OK]
Hint: Primary failure triggers automatic new primary election [OK]
Common Mistakes:
  • Thinking replica set stops on primary failure
  • Believing multiple primaries exist simultaneously
  • Assuming data loss happens immediately
4. You set up a replica set but notice writes are failing. Which of these could be the cause?
medium
A. All members are healthy and synced
B. The replica set has only one member
C. Secondary nodes are accepting writes
D. No primary is elected in the replica set

Solution

  1. Step 1: Identify write requirements in replica sets

    Writes must go to the primary; if no primary exists, writes fail.
  2. Step 2: Analyze options

    Healthy members or single member replica sets usually allow writes; secondaries do not accept writes.
  3. Final Answer:

    No primary is elected in the replica set -> Option D
  4. Quick Check:

    Writes need primary elected [OK]
Hint: Writes fail if no primary exists [OK]
Common Mistakes:
  • Thinking secondaries accept writes
  • Assuming single member replica set blocks writes
  • Ignoring primary election status
5. You want to ensure your MongoDB replica set remains available even if two servers fail. What is the minimum number of members you should have in your replica set?
hard
A. 5 members
B. 4 members
C. 3 members
D. 6 members

Solution

  1. Step 1: Understand majority voting in replica sets

    Replica sets use majority votes to elect primary; to tolerate 2 failures, majority must be > half of total members.
  2. Step 2: Calculate minimum members

    With 5 members, majority is 3; losing 2 still leaves 3 members to form majority and keep primary.
  3. Final Answer:

    5 members -> Option A
  4. Quick Check:

    To survive 2 failures, need 5 members [OK]
Hint: Majority = more than half; 5 members survive 2 failures [OK]
Common Mistakes:
  • Choosing 3 or 4 members which can't tolerate 2 failures
  • Not considering majority voting
  • Assuming even number members are better
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard