ACID
ACID Transactions, ACID Properties
ACID is the set of four guarantees a database makes about a transaction: Atomicity (all of it happens or none of it does), Consistency (it moves the database...
Plain English definitions for the engineering ideas you keep running into.
No terms match your search. Try a different keyword.
ACID Transactions, ACID Properties
ACID is the set of four guarantees a database makes about a transaction: Atomicity (all of it happens or none of it does), Consistency (it moves the database...
Vacuum, Dead Tuple Cleanup
Autovacuum is the background process in PostgreSQL that cleans up the dead row versions left behind by MVCC. Because Postgres never overwrites a row on UPDATE or DELETE,...
Cache, Caching Strategies
Caching keeps a copy of expensive-to-fetch data in a fast store so most reads avoid the slow source. The main strategies differ in who fills the cache and...
Brewer's Theorem
The CAP theorem says a distributed data store can only give you two out of three of these during a network partition. Consistency means every read sees the...
Circuit Breaker Pattern
The circuit breaker pattern stops cascading failures by wrapping calls to a flaky dependency. It has three states: closed (calls pass through), open (calls fail fast without touching...
Distributed Consensus, Agreement Protocol
Consensus is a way for a group of computers to agree on the same value, even if some of them are slow, crashed, or cut off from the...
Hash Ring, Ring Hashing
Consistent hashing maps both servers and keys onto a circular hash ring, and each key is owned by the next server clockwise. Its key property is that adding...
Command Query Responsibility Segregation
CQRS, Command Query Responsibility Segregation, uses separate models for writing and reading. Commands change state and run against a normalised write model; queries read from a denormalised read...
Index, B-tree Index
A database index is a separate data structure, usually a B-tree, that lets the database find rows by a column value without scanning the whole table. Like the...
Locking, Row Lock, Table Lock
A database lock is a control that stops concurrent transactions from corrupting each other’s data. A shared lock lets many transactions read the same data at once; an...
Liveness Probe, Keep Alive
A heartbeat is a small message a node sends every so often to say it is still alive. If the heartbeats stop, other nodes assume it has failed...
HWM, Commit Index
The high watermark is the largest log offset that has been copied to a quorum of replicas. Anything at or below this point is committed and safe to...
HLC, Hybrid Time
A hybrid logical clock, or HLC, is a clock that mixes the wall clock time with a small counter. The result is a 64 bit number that always...
Lamport Timestamp, Logical Clock
A Lamport clock is a single integer counter kept on every node to order events without a shared wall clock. Every event bumps the counter by one, every...
Master Election, Coordinator Election
Leader election is how a group of nodes picks one node to coordinate writes, order operations, or own a shard. The winner stays leader for some time. If...
Time Bound Lease, Lock with TTL
A lease is a grant that gives one node exclusive access to a resource for a fixed amount of time, called the TTL. The holder has to keep...
HTTP Long Polling
Long polling is a way to push updates to a client over plain HTTP. The client sends a request and the server holds the connection open until it...
Low Water Mark, Log Start Offset
The low watermark is the index in a write-ahead log that marks the point below which entries can be safely discarded. It is the counterpart to the high...
Log-Structured Merge Tree, LSM
A log-structured merge tree, or LSM tree, is a storage structure built for write-heavy workloads. New writes go into an in-memory table (the memtable) and an append-only log,...
Message Broker, Queue
A message queue is middleware that lets services talk asynchronously by passing messages through a broker instead of calling each other directly. It decouples producers from consumers, absorbs...
Modulith
A modular monolith is a single deployable application split into well-defined modules that talk to each other only through explicit interfaces, never by reaching into each other’s internals....
MVCC, Snapshot Isolation
Multi-Version Concurrency Control, or MVCC, lets many transactions read and write the same data at once without blocking each other. Instead of overwriting a row in place, the...
Query Optimizer, Planner/Optimizer
The query planner is the part of a database that turns a SQL statement into an execution plan. It is a cost-based optimizer: it considers many ways to...
Majority Quorum, Voting Quorum
A quorum is the smallest group of nodes that has to agree before a distributed operation counts as done. The most common rule is the majority quorum, N/2...
Raft Consensus Algorithm
Raft is a consensus algorithm from 2014 that gives the same fault tolerance as Paxos but is much easier to read and write. It splits the problem into...
Rate Limiter, Throttling
Rate limiting caps how many requests a client can make in a window of time, protecting a service from overload, abuse, and runaway costs. The common algorithms are...
Distributed Log, Append Only Log
A replicated log is a list of operations that is kept in the same order on many machines using a consensus protocol. Every node applies the entries in...
Saga, Distributed Saga
The saga pattern keeps data consistent across services without a distributed lock. It breaks one big transaction into a sequence of local transactions, one per service, each with...
SSE, EventSource
Server-Sent Events (SSE) stream data one way, server to client, over a single long-lived HTTP connection using the text/event-stream content type. The browser’s EventSource API handles the connection,...
Horizontal Partitioning, Data Partitioning
Sharding is splitting one logical database across many machines by row, so each shard holds a subset of the data. A shard key decides which shard a row...
Dual Leadership, Cluster Partition
Split brain is a failure where two or more nodes both think they are the leader, usually because a network partition has cut the cluster in half. Each...
Cache Stampede, Dogpile Effect
The thundering herd problem happens when many requests hit the same backend resource at the same instant, typically right after a popular cache key expires. Every request sees...
Outbox Pattern, Application Outbox
The transactional outbox pattern solves the dual-write problem: updating your database and publishing an event must either both happen or neither. It writes the event into an outbox...
Time To Live, Expiry
TTL stands for time to live. It is a length of time after which something like a lease, a cache entry, a DNS record, or a token is...
2PC, XA Transactions
Two phase commit, or 2PC, is a protocol for committing a transaction across many resources at once. A coordinator first asks every participant if they can commit. If...