Glossary

A unified glossary of terms used across all labs. Terms are grouped by domain.

Storage & I/O

TermDefinition
PageThe unit of I/O between disk and memory. Usually 4 KiB (matches OS page size) but databases often use 4–32 KiB.
BlockAn SSTable's I/O unit (LevelDB default 4 KiB). Distinct from a B-tree "page" — both are I/O units but for different engines.
mmapMap a file into process address space. Reads happen via page faults; writes via dirty pages flushed by the kernel.
pread/pwritePositional read/write syscalls. Explicit offset, no shared file pointer. Predictable cost, no page-fault stalls.
O_DIRECTOpen flag (Linux) that bypasses the page cache. Requires aligned buffers, aligned offsets, aligned sizes.
fsyncForce file data + metadata to stable storage. Blocks until disk acknowledges. Often the slowest syscall in a database.
fdatasyncLike fsync but skips non-essential metadata. Faster on most filesystems.
Write amplification (WA)Bytes physically written / bytes logically written. SSDs have hardware WA; LSM-trees have algorithmic WA from compaction.
Read amplification (RA)Bytes physically read / bytes logically read. LSM-trees suffer from RA due to checking multiple levels.
Space amplificationBytes on disk / bytes of live data. LSMs have space amp from stale data awaiting compaction.
EndiannessByte order. Little-endian (x86, ARM default): least-significant byte first. Big-endian: network byte order.
AlignmentMemory address being a multiple of N. Required for O_DIRECT (usually 512 B or 4 KiB) and SIMD ops.
io_uringLinux async I/O API (≥ 5.1). Two ring buffers (SQ/CQ) shared between kernel and user space.
DMADirect Memory Access — disk controller writes directly to RAM without CPU involvement.

Hardware

TermDefinition
HDD seek time~5–10 ms for random reads (head movement + rotational latency). ~150 MB/s sequential.
SATA SSD~100 μs random read latency, ~500 MB/s sequential, ~80K IOPS.
NVMe SSD~50–100 μs random read latency, ~3–7 GB/s sequential, ~500K–1M IOPS. Multiple hardware queues.
Cache lineCPU cache unit, almost always 64 bytes. Data-structure layout for cache locality matters.
NUMANon-Uniform Memory Access — CPU sockets have local RAM; cross-socket access is slower.
Wear levelingSSD firmware spreads writes across blocks to even out flash wear. Causes hardware write amplification.

Data Structures

TermDefinition
Skip listProbabilistic balanced structure with O(log n) ops and lock-free-friendly properties. Used in LevelDB MemTable.
B-TreeSelf-balancing m-ary tree. Internal nodes store keys + values + child pointers. Used for indexes.
B+-TreeB-Tree variant where all values live in leaf nodes; internal nodes are pure routing. Used for tables in SQLite.
LSM-TreeLog-Structured Merge-Tree. In-memory MemTable + on-disk sorted runs (SSTables), merged via compaction.
Bloom filterProbabilistic set membership; no false negatives, tunable false positive rate. Used to skip SSTable lookups.
ARTAdaptive Radix Tree — modern in-memory index alternative to B-Trees, used by HyPer, DuckDB.

Consensus

TermDefinition
QuorumSubset of nodes whose agreement is required. Typically ⌊N/2⌋ + 1 for majority quorum.
Term / EpochMonotonically increasing identifier for a leadership period (Raft term, ZAB epoch, Paxos ballot).
Log indexPosition of an entry in the replicated log. Indices are monotonic and dense.
Commit indexThe largest log index known to be safely replicated to a quorum.
LinearizabilityStrongest consistency: operations appear to take effect atomically at some point between their invocation and response.
Sequential consistencyAll processes agree on a single global order, but the order need not match real-time.
Eventual consistencyIf updates stop, all replicas eventually agree. No real-time guarantees.
CAP theoremUnder a network partition, you must choose Consistency or Availability. Partition tolerance is non-negotiable.
FLP impossibilityNo deterministic asynchronous consensus protocol can guarantee progress with even one crash failure.
Lamport timestampScalar logical clock: L(a) < L(b) if a happened-before b. Cannot detect concurrency.
Vector clockPer-node vector. VC(a) < VC(b) iff every component is ≤. Detects concurrent events.
HLCHybrid Logical Clock: combines physical time with a logical counter; bounded skew from real time.

Transactions

TermDefinition
ACIDAtomicity, Consistency, Isolation, Durability — properties a transaction must satisfy.
Isolation levelREAD UNCOMMITTED → READ COMMITTED → REPEATABLE READ → SERIALIZABLE. Each rules out more anomalies.
Dirty readReading data written by an uncommitted transaction.
Non-repeatable readReading the same row twice in one tx and getting different values.
Phantom readA range query returns different rows when re-run within one tx.
MVCCMulti-Version Concurrency Control — writes create new versions; readers see a snapshot.
2PLTwo-Phase Locking — acquire locks in a growing phase, release in a shrinking phase. Guarantees serializability.
2PCTwo-Phase Commit — distributed transaction protocol: prepare phase, then commit/abort. Blocking on coordinator failure.

SQL Engine

TermDefinition
VDBEVirtual Database Engine — SQLite's bytecode VM that executes compiled SQL.
Prepared statementA parsed and compiled SQL statement, reusable with different parameters.
Cardinality estimationPredicting how many rows a query operator will produce. Core to the query planner.
SelectivityFraction of rows that satisfy a predicate. Low selectivity ⇒ index scan preferred.
Covering indexAn index that contains all columns needed by a query, so the table doesn't need to be touched.

Operational

TermDefinition
SnapshotA consistent point-in-time view of data. Used for backups, MVCC reads, Raft log compaction.
CheckpointOperation that flushes in-memory state to disk so recovery has less log to replay.
CompactionBackground process that merges sorted files (LSM) or reclaims fragmented space (B-tree).
YCSBYahoo Cloud Serving Benchmark — standard KV workload suite (A–F). Used in db-22.
JepsenTest framework for distributed systems correctness; injects partitions/clock skew. Inspires our consensus tests.

Cloud Gateway & Application Networking (Phase 6)

TermDefinition
L4 / L7Transport (TCP/UDP, opaque bytes) vs application (HTTP/gRPC/WebSocket, per-request) proxying.
Data planeThe proxies on the request path; optimized for p99 latency and throughput.
Control planeThe source of truth that computes + pushes config to the data plane; off the request path.
Event loopA thread multiplexing many connections via epoll/kqueue; must never block (Zuul 2 / Netty).
C10KThe problem of serving 10k+ concurrent connections; solved by event loops, not threads.
BackpressureSlowing a producer when the consumer can't keep up; for a proxy, stop reading one side when the other can't be written.
PROXY protocolA header prepended to an L4 stream to convey the original client/destination addresses.
Nagle's algorithmCoalesces small TCP writes; disabled with TCP_NODELAY for latency-sensitive traffic.
conntrackThe kernel connection-tracking table; a finite resource a busy gateway can exhaust.
HTTP/2 streamOne independent request/response multiplexed over a single TCP connection.
HPACK / QPACKHeader compression for HTTP/2 / HTTP/3 (QPACK is HOL-blocking-safe).
Flow control (h2)Per-stream/connection credit windows; application-level backpressure via WINDOW_UPDATE.
GOAWAYHTTP/2 frame to stop opening new streams; the graceful-drain signal.
Head-of-line blockingA stalled item blocking those behind it: at L4 (TCP), h1 (pipelining), h2 (TCP under mux); fixed at h3.
QUIC / HTTP/3Reliable multiplexed streams over UDP; no TCP HOL, 0-RTT, connection migration.
Filter chainZuul's inbound → endpoint → outbound phases; the programmable request lifecycle.
Connection churnThe rate of opening/closing connections to backends; the thing to minimize.
Connection pool / keep-aliveReusing warm connections to avoid per-request TCP+TLS handshakes.
SubsettingEach gateway connects to a subset of origins so total conns = gateways × subset, not × origins.
Van der Corput sequenceBinary low-discrepancy sequence (bit-reverse i); evenly-spread, stable subset selection.
WebSocket (RFC 6455)HTTP-upgraded, full-duplex, framed channel; server can push at any time.
Push registrydeviceId → owning node map for routing a message to a connection (Pushy / KeyValue).
Reconnect stormMany clients reconnecting at once; tamed with exponential backoff + full jitter.
P2CPower of Two Choices: pick 2 random endpoints, send to the less-loaded; near-optimal, no coordination.
Outlier ejectionRemoving a bad endpoint from rotation based on live error/latency.
Retry budgetCap on retries as a fraction of total traffic; the anti-amplification rule.
Circuit breakerCLOSED/OPEN/HALF-OPEN state machine that fails fast on a sick dependency.
Adaptive concurrencyInferring the right in-flight limit from latency (Little's Law); shed at admission past the knee.
Metastable failureA self-sustaining overload that persists after the trigger clears (e.g. a retry storm).
mTLSMutual TLS — both peers present certificates; cryptographic two-way authentication.
SPIFFE / SVIDA workload-identity URI / the short-lived X.509 cert carrying it (issued by SPIRE / Netflix Metatron).
SNI / ALPNTLS extensions selecting the server cert by hostname / negotiating the protocol (h2/h3).
Zero-trustNever trust the network; authenticate every connection, authorize every request.
EnvoyThe canonical C++ L4/L7 data plane: listeners → filter chains → clusters → endpoints.
xDSEnvoy's discovery protocol (LDS/RDS/CDS/EDS/SDS) for dynamic config from a control plane.
ADS / Delta xDSAggregated (single ordered stream) / incremental variants of xDS.
ACK / NACK (xDS)Envoy confirming or rejecting an applied config version; the rollout/correctness signal.
CNIContainer Network Interface — the spec + plugins that wire pod networking (veth, IPAM, overlay).
kube-proxyPrograms nodes to map ServiceIP → pod IP (iptables / IPVS / eBPF).
EndpointSliceSharded list of ready pod IPs behind a Service; the membership source for LB/EDS.
Readiness probeHealth check gating Service membership; the hook that makes graceful drain work.
CRD / OperatorA custom Kubernetes type / a controller that reconciles it to desired state.
Reconcile loopLevel-triggered, idempotent convergence of actual → desired state (self-healing).
Gateway APIStandard role-oriented K8s CRDs for L7 routing (GatewayClass/Gateway/HTTPRoute); successor to Ingress.
FinalizerA marker blocking deletion until a controller cleans up external state.
RED / USERate-Errors-Duration (request services) / Utilization-Saturation-Errors (resources).
Golden signalsLatency, traffic, errors, saturation — the four to dashboard and alert on.
SLI / SLO / error budgetIndicator / target / allowed failure that governs release velocity.
Trace contextPropagated identifiers (W3C traceparent, b3) that stitch spans into one trace across a proxy.
Shadow / mirror trafficCopying prod traffic to a new path without serving its responses; zero-risk validation.
Canary / sticky canaryA small (consistent-cohort) slice of real traffic on the new path, compared to a control group.
NRI / OCI hooksContainer-runtime extension points to customize per-workload networking/storage (Netflix Titus→K8s).

Platform & Distributed Systems Architecture (Phase 7)

TermDefinition
Bounded contextA cohesive business capability with its own model + boundary (DDD); the basis for a service boundary.
Service contractThe explicit, versioned interface (API + events + guarantees) a service exposes.
Distributed monolithServices that must deploy together / share a DB / call synchronously per request — a monolith with added latency.
Cohesion / couplingHow related a service's responsibilities are / how dependent services are on each other.
Fan-in / fan-outNumber of services depending on X / number X depends on.
Blast radiusThe set of services affected if a given service fails (transitive dependents).
Strangler figIncrementally replacing a system by routing slices to the new one.
Conway's LawSystem structure mirrors org communication structure.
Backward / forward compatibilityNew code reads old data / old code reads new data.
Tag number (protobuf)A field's stable id; the basis of safe schema evolution (never reuse/retype).
Idempotency keyClient-supplied key letting a server dedupe retries of a non-idempotent op.
Opaque cursorA tamper-evident pagination token that hides the storage scheme from the contract.
EventAn immutable fact that something happened ("OrderPlaced").
At-least-once / exactly-onceDelivery that may duplicate (the practical default) / a myth; use at-least-once + idempotency.
Dead-letter queue (DLQ)Where un-processable messages go after exhausting retries.
Choreography / orchestrationServices reacting to events / a central coordinator (a saga).
Commit logAppend-only, ordered sequence of records addressed by offset (the streaming substrate).
PartitionOne shard of a topic; the unit of ordering and parallelism.
OffsetA record's monotonic, stable position within its partition.
Consumer groupConsumers sharing a topic's partitions (≤1 consumer per partition).
RebalancingReassigning partitions to consumers on membership change (minimize movement).
Dual-write problemUpdating a DB and publishing an event non-atomically; a crash desyncs them.
Transactional outboxWriting the event into the DB in the same transaction as the state change; a relay publishes it.
Change-data-capture (CDC)Publishing events by tailing the DB's write-ahead log (the outbox alternative).
SagaA sequence of local transactions with per-step compensating actions (vs distributed 2PC).
CompensationA semantic undo of a completed saga step (refund, recall — not rollback).
Consistent hashingHash-ring key placement; a membership change moves ~1/N keys (vs mod-N's reshuffle).
Virtual nodesMultiple ring positions per physical node; even load + smooth movement.
Quorum (N/W/R)Replica count / write-acks / read-replicas.
R+W>NThe read/write-quorum overlap condition for strong (read-your-writes) consistency.
Linearizable / causal / eventualStrongest → weakest consistency models.
CAP / PACELCConsistency vs availability (under partition) / vs latency (else).
Infrastructure as Code (IaC)Declarative infra + a diff-and-converge engine (Terraform/Pulumi).
Plan / apply / state / driftThe diff / converge / last-applied snapshot / world-diverged-from-state.
GitOpsGit as the single source of truth + a reconciler that continuously converges live state.
Sync / prune / self-healApply git changes / delete what git dropped / revert manual drift.
Reconcile loopLevel-triggered, idempotent convergence to desired state (IaC/GitOps/operators/xDS).
SLI / SLO / error budgetIndicator / target / allowed-failure currency that governs release velocity.
Burn rateerrorRate / errorBudget; >1 = consuming the budget too fast.
Multi-window burn-rate alertingPage only when long (sustained) AND short (ongoing) windows both burn fast.
BulkheadPer-dependency concurrency isolation so one saturated dependency can't starve others.
Cascading failureOne failure exhausting shared resources, toppling others.
Graceful degradationReduced-but-available service under stress.
ADRArchitecture Decision Record: context, decision, alternatives, consequences.
Fitness functionAn automated test of an architectural property (cycles, layering, coupling) in CI.
Evolutionary architectureArchitecture as a continuously-tested, changeable property.
Paved road / golden pathThe supported, easy default that makes the right thing the easy thing.