Bird
Raised Fist0
HLDsystem_design~10 mins

Why caching reduces latency in HLD - Scalability Evidence

Choose your learning style10 modes available
Scalability Analysis - Why caching reduces latency
Growth Table: Impact of Caching on Latency at Different Scales
UsersWithout CacheWith CacheLatency Impact
100Low latency (~50ms)Very low latency (~10ms)Cache reduces latency by 80%
10,000Moderate latency (~200ms)Low latency (~30ms)Cache reduces latency by 85%
1,000,000High latency (~500ms)Moderate latency (~50ms)Cache reduces latency by 90%
100,000,000Very high latency (seconds)High latency (~200ms)Cache reduces latency by 80-90%
First Bottleneck: Database and Network Latency

When users increase, the database becomes the first bottleneck because it takes longer to fetch data from disk or perform complex queries. Network delays add to this latency. Without caching, every request hits the database, causing slow responses.

Scaling Solutions: How Caching Reduces Latency
  • Cache Layer: Store frequently requested data in fast memory (like Redis or Memcached) to serve requests instantly.
  • Read Replicas: Use database replicas to distribute read load, but caching is faster.
  • CDN: Cache static content closer to users to reduce network delay.
  • Cache Invalidation: Keep cache updated to avoid stale data.
  • Horizontal Scaling: Add more cache servers to handle more requests.
Back-of-Envelope Cost Analysis

Assuming 1 million requests per second (RPS):

  • Without cache: Database must handle 1M QPS, likely overloaded (typical DB max ~10K QPS).
  • With cache: Cache handles 900K QPS (90% hit rate), database only 100K QPS.
  • Latency drops from ~500ms to ~50ms per request.
  • Network bandwidth reduced as fewer DB queries cross network.
  • Cache memory needed depends on data size; e.g., 100GB RAM for hot data.
Interview Tip: Structuring Your Scalability Discussion

Start by explaining the latency problem and why the database is the bottleneck. Then introduce caching as a solution to serve data faster from memory. Discuss cache hit rates, invalidation strategies, and how caching reduces load on the database and network. Finally, mention scaling cache horizontally and using CDNs for static content.

Self-Check Question

Your database handles 1000 QPS. Traffic grows 10x to 10,000 QPS. What do you do first?

Answer: Introduce a caching layer to serve frequent requests from memory, reducing load on the database and lowering latency.

Key Result
Caching reduces latency by serving frequent data from fast memory, preventing database overload and network delays as user traffic grows.

Practice

(1/5)
1. Why does caching reduce latency in a system?
easy
A. Because it stores frequently accessed data closer to the user, reducing access time.
B. Because it increases the number of servers in the system.
C. Because it compresses data to make it smaller.
D. Because it deletes old data from the database.

Solution

  1. Step 1: Understand caching location

    Caching stores data near the user or application, such as in memory or edge servers.
  2. Step 2: Effect on access time

    Accessing data from cache is faster than fetching from the main database or server, reducing waiting time.
  3. Final Answer:

    Because it stores frequently accessed data closer to the user, reducing access time. -> Option A
  4. Quick Check:

    Caching reduces latency by storing data close [OK]
Hint: Caching stores data near users to speed up access [OK]
Common Mistakes:
  • Thinking caching increases servers
  • Confusing caching with data compression
  • Believing caching deletes data
2. Which of the following is the correct way to describe caching in system design?
easy
A. Caching permanently deletes old data to save space.
B. Caching is a process of storing data in a remote backup server.
C. Caching temporarily stores data in a fast-access location to reduce retrieval time.
D. Caching encrypts data to improve security.

Solution

  1. Step 1: Define caching purpose

    Caching temporarily holds data in a fast-access place like memory or local storage.
  2. Step 2: Identify correct description

    Only caching temporarily stores data in a fast-access location to reduce retrieval time correctly states caching reduces retrieval time by temporary storage.
  3. Final Answer:

    Caching temporarily stores data in a fast-access location to reduce retrieval time. -> Option C
  4. Quick Check:

    Caching = temporary fast storage [OK]
Hint: Caching is temporary fast storage, not permanent or remote [OK]
Common Mistakes:
  • Confusing caching with backup storage
  • Thinking caching deletes data
  • Mixing caching with encryption
3. Consider a system where fetching data from the main database takes 100ms, and fetching from cache takes 10ms. If 80% of requests hit the cache, what is the average latency per request?
medium
A. 18 ms
B. 90 ms
C. 50 ms
D. 28 ms

Solution

  1. Step 1: Calculate cache hit and miss times

    Cache hit latency = 10ms (80% requests), cache miss latency = 100ms (20% requests).
  2. Step 2: Compute weighted average latency

    Average latency = (0.8 * 10) + (0.2 * 100) = 8 + 20 = 28 ms.
  3. Final Answer:

    28 ms -> Option D
  4. Quick Check:

    Average latency = hit%*hit_time + miss%*miss_time [OK]
Hint: Use weighted average: hit%*hit_time + miss%*miss_time [OK]
Common Mistakes:
  • Ignoring cache miss latency
  • Adding times instead of weighted average
  • Using wrong percentages
4. A system uses caching but users still experience high latency. Which of the following is a likely cause?
medium
A. Cache encrypts data, increasing retrieval time.
B. Cache hit rate is very low, so most requests go to the slow database.
C. Cache size is too large, slowing down the system.
D. Cache stores data permanently, causing outdated results.

Solution

  1. Step 1: Analyze cache hit rate impact

    If cache hit rate is low, most requests bypass cache and hit slow database, increasing latency.
  2. Step 2: Evaluate other options

    Permanent storage or encryption are not typical causes of high latency; large cache size usually improves speed.
  3. Final Answer:

    Cache hit rate is very low, so most requests go to the slow database. -> Option B
  4. Quick Check:

    Low cache hit rate = high latency [OK]
Hint: Low cache hit rate means slow database access dominates [OK]
Common Mistakes:
  • Assuming cache size slows system
  • Confusing cache permanence with latency
  • Thinking encryption is main latency cause
5. In a large-scale web application, which caching strategy best reduces latency while keeping data fresh?
hard
A. Use a cache with a short expiration time and update cache asynchronously on data changes.
B. Use a cache that never expires and manually clear it once a month.
C. Disable caching and always fetch fresh data from the database.
D. Cache only rarely accessed data to save memory.

Solution

  1. Step 1: Understand freshness and latency tradeoff

    Short expiration keeps data fresh; asynchronous updates reduce latency by avoiding blocking calls.
  2. Step 2: Evaluate other options

    Never expiring cache risks stale data; disabling cache increases latency; caching rarely accessed data wastes resources.
  3. Final Answer:

    Use a cache with a short expiration time and update cache asynchronously on data changes. -> Option A
  4. Quick Check:

    Short expiry + async update = fresh data + low latency [OK]
Hint: Short expiry plus async update balances freshness and speed [OK]
Common Mistakes:
  • Choosing never expiring cache causing stale data
  • Disabling cache increases latency
  • Caching rarely accessed data wastes resources
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