Day 01: System Design - Basics
By Admin · 1/24/2026
Day 01 Of System Design
Basic Of System Design:- why do we need it ?
Need for System Design
System design is essential because it provides a blueprint for building complex, scalable, and reliable applications. Without proper design, software systems often face significant challenges:
Key Reasons Why System Design is Necessary
Types Of System Design
High Level Design (HLD)
Low Level Design (LLD)
High Level Design
This is a rough overview of the the system architecture how the data will flow, or may how the system will work,
This image show the overview working of each part of system it. If we talk about the individual like how login will work then it is LLD, how load balancer work for this project/system, how the data will store etc they are the LLD,
Simple Shabdon Mein: HLD ka matlab hai ki upper-upper se structure kaisa hoga woh batana, depth mein nahi jaane ka, bro!
Definition:- a functional requirement into a non-functional blueprint that details how the system will be built to meet quality attributes like performance, reliability, and scale.
Low Level Design
Low Level Design = how each small part of the system is built internally.
If HLD = city map, then
LLD = house blueprint (rooms, doors, wiring)
System Design — Most Common Definitions & Terms (Interview-Ready)
1 Latency
Definition:
Time taken to complete one request.
Unit: milliseconds (ms)
Example:
User clicks “Login” → page loads in 120 ms
Note:- “Lower latency means faster user experience.”
2 Throughput
Definition:
Number of requests the system can handle per unit time.
Unit: requests/second (RPS), TPS
Example:
System handles 10,000 requests/second
Note:- Latency vs Throughput:
Latency = speed of one request
Throughput = how many requests
3 Turnaround Time
Definition:
Total time from request submission to final response, including waiting.
Example:
Upload video → processing → confirmation = 30 seconds
Used more in batch systems & async jobs
4 Availability
Definition:
System is up and usable when needed.
Formula:
Availability = Uptime / (Uptime + Downtime)
Example:
99.9% availability = ~8.7 hours downtime/year
Note:- “High availability ensures minimal downtime.”
5 Reliability
Definition:
System works correctly over time without failure.
Example:
Payment deducted once, not twice
Note:- Availability ≠ Reliability
System can be available but return wrong data.
6 Consistency
Definition:
All users see the same data at the same time.
Example:
Balance = ₹1000
Every device shows ₹1000
In Short:- agar kuchh update hua ho toh sabhi jagh update ho ek sath, jaise ki tumne apne dost ko paisa bheja lekin tumahare account se paisa kata , aur tumhare dost ke account main update nahi hua vic versa.
7 Strong Consistency
Definition:
Read always returns latest write.
Example:
Bank balance after transfer
Slower
Accurate
8 Eventual Consistency
Definition:
Data becomes consistent after some time.
Example:
Instagram likes count
Fast
Temporary mismatch
9 Scalability
Definition:
Ability to handle more users/load by adding resources.
Types:
Vertical (bigger server)
Horizontal (more servers
10 Redundancy
Definition:
Duplicate components to avoid failure.
Example:
Multiple DB replicas
11 Idempotency
Definition:
Same request multiple times → same result.
Example:
Retry payment request → money deducted once
12 Caching
Definition:
Storing frequently used data for faster access.
Example:
User profile stored in Redis
13 Cache Hit / Miss
Hit: data found in cache
Miss: fetch from DB
14 Rate Limiting
Definition:
Restrict number of requests per user.
Example:
100 requests/minute/user
15 Load Balancing
Definition:
Distribute traffic across servers.
Example:
Nginx / AWS ALB
16 Bottleneck
Definition:
Slowest component limiting system performance.
Matlab:- mano ki tum class main baithe ho or board se tum kuchh apne notes main likh rahe ho, tum kaafi tej student ho, tumhe sab kuchh jaldi,se aa jata hai lekin tumhari class mai kuchh student hai jo bahut deehre likhte hai, jisse teacher ko, wait krna padta hai,
Example:
DB becomes slow → whole system slow
17 CAP Theorem(Consistency, Availability & Partition Tolerance )
In distributed systems, you can guarantee only 2 of 3:
Most systems choose AP or Cp
Fundamental Concepts for System Design
To begin our journey into system design, we will first establish a foundation by learning the basic terms.
Next, we will cover:
Types of Systems: Understanding different system paradigms, such as centralized and distributed systems.
System Design Architectures: Exploring common architectural styles (e.g., Monolithic, Microservices, Serverless).
What Should Be Next:
After covering the fundamental concepts and architectures, the logical next step is to Design a Simple System.
Proposed Next Step:
3. Simple System Design Example: Login and Authorization
This will involve applying the learned concepts to design the components and flow for a basic user authentication and authorization system.