📚 Free & Open · No Login Required

Master System Design.
Ace the Interview.

Practical system design guides with visual diagrams. Built for engineers who want to understand distributed systems deeply, not just memorize interview patterns.

Guides
Reading
Free Forever

Foundations

Foundations

Networking Fundamentals for System Design

IP addresses, OSI model layers, TCP vs UDP, and DNS resolution — the networking foundation every system designer needs.

Foundations

How Load Balancers Work

Load balancing algorithms, L4 vs L7 balancers, health checks, sticky sessions, and when to use each strategy in production systems.

Foundations

Clustering

How server clusters work, active-passive vs active-active modes, leader election, quorum, and coordination services like ZooKeeper and etcd.

Foundations

Caching

Cache types, eviction policies, write strategies, cache invalidation, and distributed caching with Redis and Memcached.

Foundations

Content Delivery Networks (CDN)

How CDNs work, push vs pull models, caching at the edge, and when to use a CDN in system design.

Foundations

Proxy (Forward & Reverse)

How forward and reverse proxies work, their differences, and how to apply them for security, load balancing, and caching.

Foundations

Availability

How to measure availability with nines, eliminate single points of failure, design for redundancy and failover, and reason about the consistency trade-off.

Foundations

Scalability

Vertical vs horizontal scaling, stateless design, database scaling strategies, and how to design systems that handle 10x traffic without rewriting everything.

Foundations

Storage

Block, file, and object storage explained. RAID levels, NAS vs SAN, HDFS, and how to choose the right storage type for your system design.

Databases

Databases

Databases & DBMS

What databases and database management systems actually do, the components under the hood, common database types, and the key challenges you face designing data layers at scale.

Databases

SQL Databases

How relational databases work: ACID guarantees, schema design, indexes, query planning, and when SQL is the right choice for your system.

Databases

NoSQL Databases

Document, key-value, wide-column, and graph databases explained. When NoSQL outperforms SQL, what you give up, and how to pick the right type for your workload.

Databases

SQL vs NoSQL

A direct comparison across consistency, scalability, schema flexibility, and query power. How to choose the right model for your system.

Databases

Database Replication

Primary-replica topology, synchronous vs asynchronous replication, replication lag, multi-primary conflicts, and automated failover strategies.

Databases

Indexes

B-tree and hash indexes, composite index column ordering, covering indexes, partial indexes, write overhead, and how to read EXPLAIN output to diagnose slow queries.

Databases

Normalization & Denormalization

Normal forms 1NF through BCNF, how redundancy causes update anomalies, and when to deliberately denormalize with materialized views and embedded documents for read performance.

Databases

ACID and BASE

ACID transaction guarantees — atomicity, isolation levels, durability via WAL — and the BASE model of eventual consistency for distributed systems.

Databases

CAP Theorem

Consistency, Availability, and Partition Tolerance: why distributed systems can guarantee only two, CP vs AP system trade-offs, and real-world implications.

Databases

PACELC Theorem

How PACELC extends CAP by adding the latency vs consistency trade-off that governs every request during normal operation — PA/EL, PC/EC, and tunable systems.

Databases

Transactions

What database transactions are, how ACID properties are enforced, isolation levels, concurrency anomalies, and how WAL and MVCC make atomicity and durability possible.

Databases

Distributed Transactions

Two-phase commit, the Saga pattern, choreography vs orchestration, and the outbox pattern — how to achieve atomicity across multiple services without a global lock.

Databases

Sharding

How to partition a database horizontally across multiple servers: choosing a shard key, range vs hash sharding, avoiding hot spots, cross-shard queries, and resharding.

Databases

Consistent Hashing

The hash ring, virtual nodes, and why consistent hashing remaps only 1/N keys when a node is added — used in Cassandra, DynamoDB, Memcached, and distributed load balancers.

Databases

Database Federation

How to split a monolithic database by function — independent schemas, autonomous teams, and the trade-offs around cross-database joins and distributed transactions.

Architecture Patterns

Common architectural patterns for structuring distributed systems — from foundational N-tier layering to event-driven and microservice designs.

Architecture Patterns

N-Tier Architecture

How separating an application into presentation, business logic, and data tiers enables independent scaling, maintainability, and security at each layer boundary.

Architecture Patterns

Message Brokers, Queues & Pub-Sub

How asynchronous messaging with queues and pub-sub patterns decouples services, absorbs traffic spikes, and tolerates downstream failures without blocking the caller.

Architecture Patterns

Monoliths and Microservices

The real trade-offs between monolithic and microservices architectures, when to split a monolith, the Strangler Fig pattern, and the pitfalls of premature decomposition.

Architecture Patterns

Event-Driven Architecture & Event Sourcing

Using events as the primary communication mechanism between services, and event sourcing as a persistence model — projections, rebuilds, and the trade-offs of eventual consistency.

Architecture Patterns

CQRS

Separating read and write models so each can be optimized independently — from simple code-path separation to separate data stores and event-sourced projections.

Architecture Patterns

API Gateway

How an API gateway acts as the single entry point — handling auth, rate limiting, routing, protocol translation, and request aggregation across a microservices backend.

Architecture Patterns

REST, GraphQL & gRPC

The three dominant API styles compared — when REST’s simplicity wins, when GraphQL’s flexibility pays off, and when gRPC’s performance and streaming matter.

Architecture Patterns

Long Polling, WebSockets & SSE

How to push updates from server to client in real time — comparing long polling, Server-Sent Events, and WebSockets by latency, complexity, and infrastructure requirements.

Production Concerns

Reliability, observability, and operational patterns that keep distributed systems running in production — logging, monitoring, rate limiting, and more.

Production Concerns

Geohashing & Quadtrees

How location-based services index geographic data for fast proximity queries — geohash cells, neighbor expansion, and adaptive quadtree subdivision for uneven data density.

Production Concerns

Circuit Breaker

How the circuit breaker pattern prevents cascading failures — three states (closed, open, half-open), fallback strategies, and threshold tuning for production systems.

Production Concerns

Rate Limiting

Token bucket, leaky bucket, fixed window, and sliding window algorithms — protecting APIs from abuse and implementing distributed rate limiting with Redis.

Production Concerns

Service Discovery

How services find each other in dynamic environments — client-side vs server-side discovery, service registries (Consul, etcd), and Kubernetes-native discovery.

Production Concerns

SLA, SLO & SLI

The vocabulary of reliability engineering — service level indicators, objectives, and agreements; error budgets; availability math; and how they drive engineering decisions.

Production Concerns

Disaster Recovery

RTO and RPO targets, backup strategies, DR tiers from backup-restore to active-active, failover patterns, data replication, and chaos engineering.

Production Concerns

VMs & Containers

How hypervisors and container runtimes work — namespaces, cgroups, Docker internals, image layers, and when to choose VMs over containers.

Production Concerns

OAuth 2.0 & OIDC

Authorization flows, access and refresh tokens, PKCE, and how OpenID Connect adds user identity on top of OAuth — the foundation of modern web auth.

Production Concerns

Single Sign-On

SAML and OIDC-based SSO, session management across services, enterprise federation, and the trade-offs of centralized authentication.

Production Concerns

SSL, TLS & mTLS

How the TLS handshake works, certificate chains, forward secrecy, mutual TLS for service-to-service auth, and TLS termination patterns.

Case Studies

End-to-end system design walkthroughs — designing systems like URL shorteners, social feeds, ride-sharing platforms, and video streaming services from scratch.