A read replica is a copy of the primary database that handles read-only queries to reduce load on the primary and improve read scalability.
Click to reveal answer
beginner
How do read replicas improve system performance?
They distribute read traffic across multiple copies, reducing the load on the primary database and allowing more users to read data simultaneously.
Click to reveal answer
intermediate
What is eventual consistency in the context of read replicas?
Eventual consistency means that changes made on the primary database take some time to appear on read replicas, so reads might be slightly out-of-date temporarily.
Click to reveal answer
intermediate
Name one common challenge when using read replicas.
One challenge is replication lag, where the read replica is behind the primary, causing stale data to be served to users.
Click to reveal answer
intermediate
Why might a system use multiple read replicas instead of just one?
Multiple read replicas allow better load balancing, higher availability, and fault tolerance for read operations.
Click to reveal answer
What type of queries are typically sent to read replicas?
ASchema changes
BWrite queries
CRead-only queries
DBackup operations
✗ Incorrect
Read replicas handle read-only queries to reduce load on the primary database.
What is a common downside of using read replicas?
AReplication lag causing stale reads
BIncreased write latency
CHigher cost for write operations
DLoss of data durability
✗ Incorrect
Replication lag means read replicas may serve slightly outdated data temporarily.
Which of the following best describes eventual consistency?
AData changes propagate to replicas after some delay
BData is consistent only on the primary
CData is never consistent across replicas
DData is always immediately consistent across replicas
✗ Incorrect
Eventual consistency means data changes appear on replicas after a short delay.
Why use multiple read replicas?
ATo improve write speed
BTo balance read load and increase availability
CTo reduce storage costs
DTo simplify schema migrations
✗ Incorrect
Multiple replicas help distribute read traffic and provide fault tolerance.
Which component usually handles directing read queries to replicas?
AWrite coordinator
BPrimary database
CBackup service
DLoad balancer or query router
✗ Incorrect
A load balancer or query router directs read queries to replicas to balance load.
Explain what read replicas are and how they help scale database systems.
Think about how copying data helps many users read at the same time.
You got /4 concepts.
Describe the challenges and trade-offs when using read replicas in a system.
Consider what happens when data changes on the primary but not yet on replicas.
You got /4 concepts.
Practice
(1/5)
1. What is the primary purpose of using read replicas in a system design?
easy
A. To backup data by creating copies on different servers
B. To increase write throughput by adding more write nodes
C. To improve read scalability by offloading read queries from the primary database
D. To encrypt data for security purposes
Solution
Step 1: Understand the role of read replicas
Read replicas are copies of the primary database used mainly to handle read requests.
Step 2: Identify the benefit in system design
By directing read queries to replicas, the primary database is less loaded, improving read scalability.
Final Answer:
To improve read scalability by offloading read queries from the primary database -> Option C
Quick Check:
Read replicas = improve read scalability [OK]
Hint: Read replicas handle reads, not writes, to reduce primary load [OK]
Common Mistakes:
Thinking read replicas improve write performance
Confusing read replicas with backup systems
Assuming read replicas encrypt data
2. Which of the following is the correct way to describe replication in read replicas?
easy
A. Replication is synchronous, so replicas always have the latest data instantly.
B. Replication duplicates only write queries, not read queries.
C. Replication happens only when the primary database restarts.
D. Replication is asynchronous, so replicas may lag behind the primary database.
Solution
Step 1: Understand replication types
Read replicas usually use asynchronous replication, meaning data updates are sent with some delay.
Step 2: Identify the correct replication behavior
Because replication is asynchronous, replicas may not always have the latest data instantly.
Final Answer:
Replication is asynchronous, so replicas may lag behind the primary database. -> Option D
Quick Check:
Replication = asynchronous lag possible [OK]
Hint: Replication delay means replicas can be slightly outdated [OK]
Common Mistakes:
Assuming replication is always synchronous
Thinking replication triggers only on restart
Confusing replication of queries with replication of data
3. Consider a system with one primary database and two read replicas. If the primary receives 100 write requests and 300 read requests per second, how should the read requests be handled to optimize performance?
medium
A. Send all 300 read requests to the read replicas and 100 writes to the primary
B. Send all 400 requests to the primary database
C. Send half of the read requests to the primary and half to the replicas
D. Send all requests randomly to any database
Solution
Step 1: Separate reads and writes
Writes must go to the primary database to maintain data consistency.
Step 2: Offload reads to replicas
All read requests should be directed to read replicas to reduce load on the primary and improve read response.
Final Answer:
Send all 300 read requests to the read replicas and 100 writes to the primary -> Option A
Quick Check:
Reads to replicas, writes to primary = best practice [OK]
Hint: Direct reads to replicas, writes to primary for best performance [OK]
Common Mistakes:
Sending writes to replicas causing data inconsistency
Overloading primary with all requests
Randomly distributing requests without separation
4. A system uses read replicas but users report seeing stale data sometimes. What is the most likely cause and how can it be fixed?
medium
A. Primary database is overloaded; fix by adding more replicas
B. Replication is asynchronous causing delay; fix by using synchronous replication
C. Read replicas are down; fix by restarting replicas
D. Network latency is high; fix by reducing read requests
Solution
Step 1: Identify cause of stale data
Stale data usually happens because asynchronous replication delays updates to replicas.
Step 2: Fix by changing replication method
Using synchronous replication ensures replicas have the latest data but may impact performance.
Final Answer:
Replication is asynchronous causing delay; fix by using synchronous replication -> Option B
Quick Check:
Stale data = async replication delay [OK]
Hint: Stale reads? Check replication delay type [OK]
Common Mistakes:
Restarting replicas without checking replication
Adding replicas without fixing replication lag
Reducing reads instead of addressing replication
5. You are designing a high-traffic e-commerce platform. To handle millions of read requests per second, you plan to use read replicas. Which combination of strategies best ensures scalability and data freshness?
hard
A. Use multiple asynchronous read replicas with eventual consistency and implement cache invalidation on writes
B. Use a single synchronous read replica to guarantee data freshness but risk read bottlenecks
C. Send all reads and writes to the primary database to avoid replication delays
D. Use asynchronous replicas without any cache or consistency strategy
Solution
Step 1: Understand scalability needs
Millions of reads require multiple replicas to distribute load effectively.
Step 2: Balance data freshness and performance
Asynchronous replicas scale well but have lag; cache invalidation helps keep data fresh for users.
Step 3: Evaluate other options
Single synchronous replica limits scalability; sending all to primary causes bottlenecks; no cache hurts freshness.
Final Answer:
Use multiple asynchronous read replicas with eventual consistency and implement cache invalidation on writes -> Option A