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...
Coordination Service, Metadata Quorum, Control Plane Store
A consistent core is a small cluster, usually 3 to 5 nodes, that provides linearizable consistency and fault tolerance using a consensus protocol. A much larger data cluster...
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...
CDN, Edge Network, Content Distribution Network
A content delivery network is a global fleet of edge servers that cache content close to users. When someone requests a file, the CDN serves it from a...
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...
Double-Entry Bookkeeping, Double-Entry Accounting, Financial Ledger
A double-entry ledger records every money movement as two matching entries: a debit on one account and a credit on another, for the same amount. The books are...
Term, Epoch, Leader Epoch
A generation clock is a monotonically increasing number that goes up by one every time a cluster elects a new leader. Raft calls it a term, Kafka and...
Epidemic Protocol, Gossip Dissemination
A gossip protocol is a way to spread information through a cluster by having each node talk to a few random peers. Updates spread like a rumor and...
HOL Blocking, Line Blocking
Head-of-line blocking happens when the first item in a queue or ordered stream is stuck, so everything behind it must wait, even if those later items are ready....
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...
Strong Consistency, Atomic Consistency, External Consistency
Linearizability is the strongest single object consistency guarantee. Every operation appears to take effect instantly at some single point between when it was called and when it returned....
Load Balancer, Traffic Distribution
Load balancing spreads incoming requests across a pool of servers so no single machine gets overwhelmed. A load balancer sits in front of the servers, checks which ones...
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...
Microservice Architecture, Service Oriented Architecture
Microservices is an architecture that splits an application into small, independently deployable services, each owning one business capability and its own data. Services talk over the network through...
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...
Lamport's Paxos, Classic Paxos
Paxos is a family of algorithms by Leslie Lamport that lets a group of nodes agree on a single value, even if some of them crash or messages...
Pub/Sub, Publish Subscribe, Fan-out Messaging
Publish-subscribe is a messaging pattern where publishers send messages to a topic instead of to specific receivers, and any number of subscribers to that topic get a copy....
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...
HTTP/3 Transport, Quick UDP Internet Connections
QUIC is a transport protocol built on top of UDP that powers HTTP/3. It bundles connection setup and TLS encryption into a single handshake, multiplexes many independent streams...
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...
Request Collapsing, Singleflight, In-flight Deduplication
Request coalescing collapses many identical in-flight requests into a single backend call, then shares that one result with all the waiters. When several requests ask for the same...
RLS, Row-Level Security, Row Security Policies
Row Level Security, or RLS, is a database feature that restricts which rows a role can read or change, based on a policy expression evaluated for every query....
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...
WebSockets, WS Protocol
A WebSocket is a persistent, full-duplex connection between a client and a server over a single TCP connection. After an HTTP handshake upgrades the connection, both sides can...
WAL, Commit Log, Redo Log
A write ahead log, or WAL, is a file that a database appends every change to before touching its real data files. Writing the change to the log...