Technology
16 min read
How to keep data consistent when one business action spans a database and a message broker, or several services. Covers the dual-write problem, the transactional outbox and change data capture, two-phase commit and why it blocks, and sagas with compensating transactions, choreography versus orchestration, pivot steps and isolation anomalies, with a runnable saga.
Technology
17 min read
Retries are necessary in distributed systems, and they create duplicates. Learn what idempotency means, where duplicates come from, how to build idempotency keys correctly, unique constraints and idempotent consumers, which errors to retry, exponential backoff with jitter, retry amplification, and what at-most-once, at-least-once and effectively-once delivery really promise.
Technology
15 min read
What "consistent" means when data is replicated, from linearizability through causal and session guarantees to eventual consistency; what the CAP theorem actually says and why "pick two" misleads; PACELC and the everyday latency trade-off; quorum reads and writes; resolving conflicts; and choosing consistency per feature instead of per system.
Technology
14 min read
What changes when work is spread over many machines: partial failure, messages that are lost, delayed, duplicated or reordered, timeouts with unknown outcomes, process pauses, and clocks that disagree. Learn why a timeout does not tell you what happened, why wall clocks cannot order events, how logical clocks help, and the design habits that follow.
Technology
15 min read
A trade-off-driven guide to choosing databases: relational, key-value, document, wide-column, graph, search, time-series and analytical stores, what each is good and bad at, query-first modelling for NoSQL, the myths ("NoSQL scales, SQL doesn't"), polyglot persistence, and a decision process you can use in interviews.
Technology
17 min read
When one database can no longer hold the data or absorb the writes, you split it. Learn vertical and horizontal partitioning, how to choose a partition key, range, hash, consistent-hashing and directory-based sharding, rebalancing with logical shards, hot partitions, cross-shard queries and secondary indexes, and why you should shard as late as possible.
Technology
15 min read
Why databases keep copies on several machines, and what those copies cost. Covers primary-replica replication, synchronous versus asynchronous replication, read replicas for scaling, replication lag and the read anomalies it causes, read-your-writes routing, failover and split brain, multi-leader and leaderless replication, and why replication is not a backup.
Technology
16 min read
What goes wrong when many requests touch the same rows at once: lost updates, double booking, write skew, dirty and non-repeatable reads. Learn isolation levels, MVCC, atomic conditional updates, row locks, optimistic concurrency with versions, constraints, deadlocks and hot rows, with a runnable simulation and worked examples.
Technology
15 min read
Why a query over millions of rows can take seconds or milliseconds depending on one index. Learn how B-tree indexes work, why they stay shallow, composite index column order, covering and partial indexes, selectivity, reading a query plan at a high level, why indexes are sometimes ignored, and what every index costs on writes.
Technology
17 min read
How to model data for a system design: tables, primary and foreign keys, constraints, one-to-many and many-to-many relationships, normalisation and deliberate denormalisation, ACID transactions, choosing id formats, and designing the model around access patterns. Also covers connection pooling, the N+1 problem and safe schema changes.
Technology
18 min read
Why queues exist and how they work: producers, consumers and brokers, acknowledgements and redelivery, visibility timeouts, retries, dead-letter queues, ordering, and delivery guarantees. Compares work queues, pub/sub and event streams such as Kafka, and shows how to design background workers that are safe to run twice.
Technology
17 min read
How large files are stored and delivered: object storage concepts (buckets, keys, durability, consistency, lifecycle), direct uploads with presigned URLs and multipart upload, and CDNs (edge caching, cache keys, TTLs, invalidation versus versioned URLs, static versus dynamic content, private content). Includes a compact file-storage-and-sharing design.
Technology
20 min read
Caching as a design decision: where caches live, hit ratios, cache-aside, read-through, write-through and write-back, TTLs and invalidation, LRU and other eviction policies, cache stampedes, hot keys, negative caching and distributed caches such as Redis, with the trade-off between faster reads, stale data and invalidation complexity.
Technology
18 min read
Why load balancers exist, how they spread traffic across servers, and what makes that possible: stateless services. Covers Layer 4 versus Layer 7, reverse proxies, round robin, weighted, least connections and hashing, health checks, draining, sticky sessions, redundancy of the load balancer itself, and autoscaling.
Technology
15 min read
Turn request rates into the numbers that shape an architecture: storage per day and per year with replication and retention, ingress and egress bandwidth in Gbps, cache memory from the working set, database write limits, and a first server count with headroom and zone failure. Includes a full worked example and a calculator.
Technology
16 min read
Capacity estimation from absolute basics: units and powers of two, seconds in a day, and the funnel from total users to MAU, DAU, requests per day, average QPS and peak QPS. Includes peak factors you can derive, read and write splits, fan-out, three worked examples and a small calculator.
Technology
17 min read
When should a caller wait for an answer, and when should work happen later? Learn the costs and benefits of synchronous calls and asynchronous processing, the patterns for returning results later (202 and status polling, webhooks, push), and how to choose between short polling, long polling, Server-Sent Events, WebSockets and mobile push.
Technology
19 min read
Design APIs that clients can rely on: resources and URLs, HTTP methods and which are safe to retry, status codes, validation, error formats, cursor pagination, filtering, idempotency keys, rate-limit responses, versioning, and when gRPC or GraphQL fit better than REST.