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...
ClassLoader, Class Loading, Class Loader Subsystem
A class loader is the part of the JVM that finds .class files and brings their bytecode into memory. It works in three phases: loading (read the class...
Column-Oriented Database, Column Store
A columnar database stores the values of each column together on disk instead of storing whole rows together. Because an analytical query usually reads only a few columns...
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...
Request ID, Message ID, Trace ID
A correlation id is a unique value attached to a request so its response can be matched back to it later, even when many requests are in flight...
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...
Distributed Denial of Service, DDoS, Distributed DoS
A distributed denial-of-service (DDoS) attack floods a website, server, or network with fake traffic from many machines at once so real users cannot get through. Because the traffic...
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...
Oldest Member Coordinator, Deterministic Leader Selection, Age Based Leader
Emergent leader is a technique where a peer-to-peer cluster picks a coordinator by ordering nodes on their age in the cluster and treating the oldest member as the...
Optimistic Replication
Eventual consistency is a promise that, if no new writes happen, all replicas will converge on the same value given enough time. Reads in between can return stale...
GC, Automatic Memory Management, Java Garbage Collection
Garbage collection (GC) is the JVM’s automatic memory management. Instead of freeing memory by hand, you let objects go out of scope and the collector reclaims the heap...
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...
Bytecode, Java Bytecode, Class File
Bytecode is the compact, platform-independent instruction set that the JVM executes. The javac compiler does not turn Java source into native machine code; it produces bytecode stored in...
JVM, Java VM, HotSpot
The Java Virtual Machine, or JVM, is the runtime engine that executes Java bytecode. When you compile Java source with javac you get .class files of portable bytecode,...
JIT, Just-In-Time Compilation, JIT Compiler
Just-In-Time (JIT) compilation is how the JVM turns frequently executed bytecode into optimized native machine code while the program runs. The JVM starts by interpreting bytecode for fast...
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...
Pending Requests Map, Waiting List, Callback Registry
A request waiting list is a structure a cluster node keeps to hold client requests that cannot be answered yet because they are waiting on responses from other...
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...
Column-Family Store, Wide Column Database
A wide column store is a NoSQL database that groups rows into partitions, where each row can hold a different and varying set of columns. A partition key...
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...