Bird
Raised Fist0
HLDsystem_design~12 mins

Why database scaling handles data growth in HLD - Architecture Impact

Choose your learning style10 modes available
System Overview - Why database scaling handles data growth

This system shows how database scaling helps manage increasing amounts of data. As data grows, the system uses scaling techniques to keep performance steady and avoid slowdowns.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  v
Application Service
  |
  v
+-------------------+       +-------------------+
|   Cache (Redis)   |<----->|   Database Cluster |
+-------------------+       +-------------------+
                              /           \
                             /             \
                    Shard 1 DB           Shard 2 DB
Components
User
client
Sends requests to the system
Load Balancer
load_balancer
Distributes incoming requests evenly to API Gateway instances
API Gateway
api_gateway
Handles client requests, routes them to application services
Application Service
service
Processes business logic and queries data
Cache (Redis)
cache
Stores frequently accessed data to reduce database load
Database Cluster
database_cluster
Stores all persistent data, scaled horizontally by sharding
Shard 1 DB
database_shard
Holds a subset of data to distribute load
Shard 2 DB
database_shard
Holds another subset of data to distribute load
Request Flow - 10 Hops
User → Load Balancer
Load Balancer → API Gateway
API Gateway → Application Service
Application Service → Cache (Redis)
Cache (Redis) → Application Service
Application Service → Database Cluster
Database Cluster → Application Service
Application Service → Cache (Redis)
Application Service → API Gateway
API Gateway → User
Failure Scenario
Component Fails:Database Cluster
Impact:New writes fail and some reads may fail if data is not cached. Cached reads still work.
Mitigation:Use database replication and sharding to isolate failures. Cache helps serve reads during partial DB failure.
Architecture Quiz - 3 Questions
Test your understanding
Why does the system use a cache before querying the database?
ATo replace the database completely
BTo store all user requests permanently
CTo reduce database load and speed up data access
DTo slow down the response time
Design Principle
This design shows horizontal scaling of databases using sharding to handle data growth. Caching reduces database load and improves response time. Load balancers and API gateways ensure smooth request distribution and routing.

Practice

(1/5)
1. Why do systems use database scaling when data grows larger?
easy
A. To keep data access fast and reliable
B. To reduce the amount of data stored
C. To make data harder to access
D. To delete old data automatically

Solution

  1. Step 1: Understand the purpose of scaling

    Database scaling is used to handle more data without slowing down or losing reliability.
  2. Step 2: Identify the correct goal

    The main goal is to keep data access fast and reliable as data grows.
  3. Final Answer:

    To keep data access fast and reliable -> Option A
  4. Quick Check:

    Scaling improves speed and reliability [OK]
Hint: Scaling keeps databases fast despite growth [OK]
Common Mistakes:
  • Thinking scaling reduces data size
  • Believing scaling deletes old data
  • Assuming scaling makes data harder to access
2. Which of the following is a correct example of vertical scaling in databases?
easy
A. Adding more servers to share the load
B. Upgrading a server with a faster CPU and more RAM
C. Splitting data into smaller parts across servers
D. Copying data to multiple servers for backup

Solution

  1. Step 1: Define vertical scaling

    Vertical scaling means improving one server's hardware like CPU or RAM.
  2. Step 2: Match the option to vertical scaling

    Upgrading a server with better CPU and RAM fits vertical scaling.
  3. Final Answer:

    Upgrading a server with a faster CPU and more RAM -> Option B
  4. Quick Check:

    Vertical scaling = better single server [OK]
Hint: Vertical scaling upgrades one server's hardware [OK]
Common Mistakes:
  • Confusing vertical with horizontal scaling
  • Thinking adding servers is vertical scaling
  • Mixing sharding with vertical scaling
3. Given a database system that uses sharding, what happens when data grows beyond one shard's capacity?
medium
A. The system slows down because all data is on one server
B. Replication copies data to the same shard
C. Data is deleted to keep the shard size small
D. New shards are added to distribute the data load

Solution

  1. Step 1: Understand sharding

    Sharding splits data across multiple servers or shards to spread load.
  2. Step 2: What happens when one shard is full?

    New shards are added to hold more data and keep performance.
  3. Final Answer:

    New shards are added to distribute the data load -> Option D
  4. Quick Check:

    Sharding adds shards as data grows [OK]
Hint: Sharding adds servers to handle more data [OK]
Common Mistakes:
  • Thinking data is deleted when shard is full
  • Believing replication happens on same shard
  • Assuming system slows down without adding shards
4. A database uses replication to improve read speed and backup. If replication is misconfigured, what problem might occur?
medium
A. Data inconsistency between primary and replicas
B. Faster writes on the primary database
C. Automatic deletion of all replicas
D. Sharding data across replicas

Solution

  1. Step 1: Understand replication purpose

    Replication copies data to replicas for speed and backup.
  2. Step 2: Identify misconfiguration effects

    If replication is wrong, replicas may not match primary, causing inconsistency.
  3. Final Answer:

    Data inconsistency between primary and replicas -> Option A
  4. Quick Check:

    Replication errors cause inconsistency [OK]
Hint: Misconfigured replication causes data mismatch [OK]
Common Mistakes:
  • Thinking replication speeds up writes
  • Assuming replicas get deleted automatically
  • Confusing sharding with replication
5. A company expects its user data to grow rapidly. Which combination of scaling techniques best handles this growth while ensuring fast reads and fault tolerance?
hard
A. Vertical scaling only, upgrading server hardware
B. Replication only, copying data to multiple servers
C. Horizontal scaling with sharding and replication
D. Deleting old data regularly to reduce size

Solution

  1. Step 1: Analyze growth and requirements

    Rapid data growth needs spreading data and fast access with backups.
  2. Step 2: Match techniques to needs

    Horizontal scaling adds servers; sharding splits data; replication copies data for speed and fault tolerance.
  3. Step 3: Evaluate other options

    Vertical scaling alone can't handle rapid growth well; replication alone doesn't split data; deleting data loses information.
  4. Final Answer:

    Horizontal scaling with sharding and replication -> Option C
  5. Quick Check:

    Sharding + replication = scalable and reliable [OK]
Hint: Combine sharding and replication for growth and speed [OK]
Common Mistakes:
  • Relying only on vertical scaling for big growth
  • Using replication without sharding for large data
  • Deleting data instead of scaling
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