About Us Contact Us Write for Us Advertise
Home>System Design>Fundamentals

Fundamentals

LSM-Tree vs B-Tree: How Databases Store Data on DiskSystem Design › Fundamentals

LSM-Tree vs B-Tree: How Databases Store Data on Disk

Why is one database great for writes and another for reads? The storage engine — B-tree (in-place, read-optimized) vs LSM-tree (append-only, write-optimized), compaction, Bloom filters, and read/write amplification.

Read More →
60 views4 min
Consensus Explained: Raft, Paxos & Majority QuorumsSystem Design › Fundamentals

Consensus Explained: Raft, Paxos & Majority Quorums

How do unreliable servers agree on one value and never disagree? Consensus explained from scratch — majority quorums, Raft leader election and log replication, Paxos, and where etcd/ZooKeeper use it.

Read More →
83 views4 min
Capacity Estimation: Back-of-the-Envelope Math for System DesignSystem Design › Fundamentals

Capacity Estimation: Back-of-the-Envelope Math for System Design

How to estimate QPS, storage, bandwidth, and memory in a system design interview — the simple 5-step method with a full worked URL-shortener example. Fresher to senior.

Read More →
110 views4 min
Distributed Transactions & the Saga Pattern (Explained)System Design › Fundamentals

Distributed Transactions & the Saga Pattern (Explained)

How do you keep an operation all-or-nothing across many microservices when each has its own database? The Saga pattern, compensating transactions, orchestration vs choreography, and the outbox pattern — fresher to senior.

Read More →
104 views5 min
Rate Limiting Algorithms: Token Bucket, Leaky Bucket & MoreSystem Design › Fundamentals

Rate Limiting Algorithms: Token Bucket, Leaky Bucket & More

The 5 rate-limiting algorithms explained from scratch — fixed/sliding window, token bucket, leaky bucket — plus how to do it across many servers with Redis. A fresher-to-senior guide.

Read More →
86 views5 min
API Design: REST vs gRPC vs GraphQL (How to Choose)System Design › Fundamentals

API Design: REST vs gRPC vs GraphQL (How to Choose)

REST, gRPC, and GraphQL explained from scratch — and exactly when to pick which. A fresher-to-senior guide with a comparison diagram, plus API versioning and pagination.

Read More →
87 views3 min
Message Queues & Kafka: How to Decouple Systems (Async Processing Explained)System Design › Fundamentals

Message Queues & Kafka: How to Decouple Systems (Async Processing Explained)

Message queues explained — synchronous vs asynchronous, producers/queue/consumers, why queues decouple and absorb spikes, queue vs pub/sub, Kafka topics/partitions/consumer groups/offsets, and at-least-once delivery with idempotent consumers.

Read More →
124 views4 min
Consistent Hashing Explained: Scale a Cluster Without Moving EverythingSystem Design › Fundamentals

Consistent Hashing Explained: Scale a Cluster Without Moving Everything

Consistent hashing explained from the problem up — why plain hash % N breaks when you add a server, how the hash ring maps keys to the next server clockwise so only 1/N of keys move, virtual nodes for even load, and where it is used.

Read More →
126 views3 min
Consistency Models Explained: Strong vs Eventual (and In Between)System Design › Fundamentals

Consistency Models Explained: Strong vs Eventual (and In Between)

Consistency is a spectrum, not a switch. Strong vs eventual consistency in plain English, the useful middle guarantees (read-your-writes, monotonic reads, causal), why strong costs latency and availability, and how to choose per feature.

Read More →
91 views3 min