0
0
HLDsystem_design~12 mins

Why database choice impacts architecture in HLD - Architecture Impact

Choose your learning style9 modes available
System Overview - Why database choice impacts architecture

This system demonstrates how choosing different types of databases affects the overall architecture of an application. Key requirements include handling data storage efficiently, supporting scalability, and ensuring data consistency based on the database type.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  +--------------------+--------------------+
  |                    |                    |
Relational DB Service  NoSQL DB Service    Cache
  |                    |                    |
Relational DB         NoSQL DB             Redis
Components
User
client
Initiates requests to the system
Load Balancer
load_balancer
Distributes incoming requests evenly to API Gateway instances
API Gateway
api_gateway
Routes requests to appropriate backend services based on database choice
Relational DB Service
service
Handles requests that require relational database operations
NoSQL DB Service
service
Handles requests that require NoSQL database operations
Cache
cache
Stores frequently accessed data to reduce database load
Relational DB
database
Stores structured data with strong consistency and supports complex queries
NoSQL DB
database
Stores flexible schema data optimized for scalability and high throughput
Redis
cache
In-memory cache for fast data retrieval
Request Flow - 16 Hops
UserLoad Balancer
Load BalancerAPI Gateway
API GatewayCache
CacheAPI Gateway
API GatewayRelational DB Service
Relational DB ServiceRelational DB
Relational DBRelational DB Service
Relational DB ServiceCache
Relational DB ServiceAPI Gateway
API GatewayNoSQL DB Service
NoSQL DB ServiceNoSQL DB
NoSQL DBNoSQL DB Service
NoSQL DB ServiceCache
NoSQL DB ServiceAPI Gateway
API GatewayLoad Balancer
Load BalancerUser
Failure Scenario
Component Fails:Relational DB
Impact:Relational DB Service cannot retrieve or store data, causing failures for requests needing relational data. Cache may serve stale data but writes fail.
Mitigation:Use database replication and failover to standby relational DB instances. Cache serves read requests temporarily. API Gateway can route requests to NoSQL DB Service if applicable.
Architecture Quiz - 3 Questions
Test your understanding
Why does the API Gateway route requests differently based on database choice?
ABecause different databases require different query languages and data handling
BBecause the API Gateway stores all data itself
CBecause users connect directly to databases
DBecause caches replace databases entirely
Design Principle
Choosing a database type affects how the system routes requests, manages data consistency, and scales. Relational databases require structured queries and strong consistency, while NoSQL databases offer flexible schemas and scalability. Caches improve performance by reducing database load. The architecture must adapt to these differences to meet system requirements.