0% found this document useful (0 votes)
5 views1 page

System Design

The document outlines key requirements for system design, emphasizing the need to balance consistency and availability while considering various architectures like relational databases and NoSQL. It discusses performance, scalability, caching strategies, and security measures, including different types of proxies and load balancers. Additionally, it highlights the importance of redundancy, fault tolerance, and observability in system architecture.

Uploaded by

godricglow
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views1 page

System Design

The document outlines key requirements for system design, emphasizing the need to balance consistency and availability while considering various architectures like relational databases and NoSQL. It discusses performance, scalability, caching strategies, and security measures, including different types of proxies and load balancers. Additionally, it highlights the importance of redundancy, fault tolerance, and observability in system architecture.

Uploaded by

godricglow
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

System Design main reqs of system

reduce scope of problem


v. 0.1 - Mar 2022

Interview get interviewer buy-in


consistency vs availability Relational (ACID, normalization, indexing)*
different levels tradeoffs NoSQL (KV store, Blob, Timeseries, Graph)
hashing algorithms Horizontal scaling vs sharding
eviction policy (LRU, etc) Write Master + Read Replicas
cache hit / miss Multi-tenancy vs Single-tenancy
session persistence MapReduce (distributed querying)
ETL pipeline (extract, transform, load)
Features

types / roles, demographics


Caching 1 Data
Model
current quantity & future-proofing
peaks (times of day, days of year)
8 3 Redundancy, Five 9s
Fault tolerance, circuit breakers
frequency, avg duration Leader election (consensus algo)
web vs mobile Container orchestration
accessibility / needs Users 2 7 Availability / Side cars / service mesh
Observability (Logs, Metrics,
Performance Microservices Tracing, Alerts)

& Scalability
regions, CDNs
distance, RTT Geography 4 10 Messaging
network latency & Latency TCP vs UDP
DNS lookups Queues (FIFO, in-order)
Pull vs Push
9 6 Polling vs Streaming
Publish-Subscribe
Reverse proxy (request sorting)
Proxies 5 APIs & Idempotency
Security
Forward proxy (hacking, VPN)
Load Balancers (Round robin, Least Server
Outstanding Requests, path-based; Capacity
level 4 vs level 7)
SOAP, REST, gRPC, GraphQL*
(Tier-based) rate limiting
Attacks: DoS, DDoS, XSS, MITM*
*ACRONYMS Authentication vs authorization, JWT
CPU, RAM, Storage Symmetric vs Asymmetric Encryption
ACID: atomicity, consistency, isolation, durability
Vertical scaling TLS/HTTPS, SSL certificates
SOAP: simple object access protocol
HDD vs SSD CRUD, HTTP methods, pagination
REST: representational state transfer
Requests/sec, QPS Static vs Dynamic Configuration
DoS: denial of service; DDoS: distributed ...
Parallelization / threads
XSS: cross-site scripting (form injection)
VMs, partitions
MITM: man in the middle (interception)
Source: [Link], 2022

You might also like