System Design Glossary

Welcome to the System Design Glossary. Here you will find definitions for common abbreviations and technical terms used throughout the course.

Example Usage: Hover over RTT to see the definition.

Database

Term Full Name Definition
ACID Atomicity, Consistency, Isolation, Durability A set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps.
BASE Basically Available, Soft state, Eventual consistency A database design philosophy that prioritizes availability over consistency (often used in NoSQL).
WAL Write-Ahead Logging A family of techniques for providing atomicity and durability (two of the ACID properties) in database systems.
Sharding Database Sharding A method of splitting and storing a single logical dataset in multiple databases (partitions) to spread the load.
SQL Structured Query Language A domain-specific language used in programming and designed for managing data held in a relational database management system.
NoSQL Not Only SQL A broad class of database management systems that differ from the classic relational model (e.g., Key-Value, Document, Graph).
NewSQL NewSQL A class of modern relational database systems that seek to provide the same scalable performance of NoSQL systems for online transaction processing (OLTP) read-write workloads while still maintaining the ACID guarantees of a traditional database system.
Join Join A SQL instruction that combines records from two or more tables in a database based on a related column between them.
Foreign Key Foreign Key A column or group of columns in a relational database table that provides a link between data in two tables.
Schema Database Schema The skeleton structure that represents the logical view of the entire database.
Undo Log Undo Log A log that records the data value before a change is made, allowing the database to restore the original value if a transaction rolls back.
MVCC Multi-Version Concurrency Control A concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.
Phantom Read Phantom Read A phenomenon where a transaction re-executes a query returning a set of rows that satisfy a search condition and finds that the set of rows satisfying the condition has changed due to another recently-committed transaction.
Dirty Read Dirty Read A situation where a transaction reads data that has not yet been committed by another transaction.
Write Skew Write Skew An anomaly in Snapshot Isolation where two transactions read overlapping data, make disjoint updates, and commit, violating a constraint.
Snapshot Isolation Snapshot Isolation A guarantee that all reads made in a transaction will see a consistent snapshot of the database (in practice it reads the last committed values that existed at the time it started).
LSN Log Sequence Number A unique identifier given to every record in the Write-Ahead Log, used for recovery and replication.
Checkpoint Database Checkpoint A point in time where all dirty pages in memory are written to the disk, allowing the transaction log to be truncated.
ARIES Algorithms for Recovery and Isolation Exploiting Semantics A collection of algorithms for log-based recovery in database management systems.
N+1 Problem N+1 Query Problem A common performance anti-pattern where an application makes one query to retrieve a parent record and then N subsequent queries to retrieve child records for each parent.
Optimistic Locking Optimistic Locking A concurrency control method that assumes that multiple transactions can complete without affecting each other, and that therefore transactions can proceed without locking the data resources that they affect.
Pessimistic Locking Pessimistic Locking A concurrency control method that prevents simultaneous updates by placing a lock on the record as soon as a transaction starts reading it.
Tunable Consistency Tunable Consistency A consistency model where the client can choose the consistency level (e.g., ONE, QUORUM, ALL) per operation.
Sloppy Quorum Sloppy Quorum A variation of Quorum where non-replica nodes can temporarily accept writes if the designated replicas are down (see Hinted Handoff).
VNodes Virtual Nodes A technique in Consistent Hashing where each physical node is assigned multiple positions on the ring to improve load balancing and minimize data skew.
Lua Script Lua Scripting A lightweight scripting language used in Redis to execute multiple operations atomically server-side.
Rotational Latency Rotational Latency The time it takes for the disk platter to rotate the desired sector under the disk head.
Write Amplification Write Amplification An undesirable phenomenon where the actual amount of information written to the storage media is a multiple of the logical amount intended to be written.
Polyglot Persistence Polyglot Persistence The practice of using different data storage technologies to handle different data storage needs within a given software application.
Atomic Operation Atomic Operation An operation that appears to the rest of the system as a single instantaneous step; it either happens completely or not at all.
Soft Delete Soft Delete Marking a record as deleted (e.g., setting a ‘deleted_at’ timestamp) without removing it from the database, allowing for recovery or audit.

Networking

Term Full Name Definition
Latency Latency The time it takes for data to pass from one point on a network to another.
RPC Remote Procedure Call A protocol that allows a program to execute a procedure on another computer as if it were a local function call.
NIC Network Interface Controller A hardware component that connects a computer to a computer network.
Bandwidth Bandwidth The maximum rate of data transfer across a given path.
RTT Round Trip Time The time it takes for a signal to be sent plus the time for an acknowledgment of that signal to be received.
TTFB Time To First Byte The duration from the virtual user making an HTTP request to the first byte of the page being received by the user’s browser.
HOL Head of Line (Blocking) A performance-limiting phenomenon that occurs when a line of packets is held up by the first packet.
DNS Domain Name System The phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com.
CDN Content Delivery Network A geographically distributed group of servers which work together to provide fast delivery of Internet content.
Load Balancer Load Balancer A device that acts as a reverse proxy and distributes network or application traffic across a number of servers.
TLS Transport Layer Security Cryptographic protocol designed to provide communications security over a computer network.
SSL Secure Sockets Layer Deprecated predecessor to TLS, often used colloquially to refer to TLS.
HATEOAS Hypermedia As The Engine Of Application State A constraint of the REST application architecture that distinguishes it from other network application architectures.
SSE Server-Sent Events A server push technology enabling a browser to receive automatic updates from a server via HTTP connection.
WebSockets WebSocket Protocol A computer communications protocol, providing full-duplex communication channels over a single TCP connection.
API Gateway API Gateway A server that acts as an API front-end, receiving API requests, enforcing throttling and security policies, passing requests to the back-end service and then passing the response back to the requester.
OSI Model Open Systems Interconnection A conceptual model that characterises and standardises the communication functions of a telecommunication or computing system.
TCP Transmission Control Protocol A standard that defines how to establish and maintain a network conversation through which application programs can exchange data.
UDP User Datagram Protocol A communications protocol that is primarily used for establishing low-latency and loss-tolerating connections between applications on the internet.
QUIC Quick UDP Internet Connections A general-purpose transport layer network protocol designed by Jim Roskind at Google, initially implemented in 2012.
Protobuf Protocol Buffers Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data.
RPC Remote Procedure Call A software communication protocol that one program can use to request a service from a program located in another computer on a network.
gRPC gRPC Remote Procedure Call An open source remote procedure call (RPC) system initially developed at Google.
Polling Polling A client asking the server for new data at regular intervals.
Long Polling Long Polling A variation of polling where the server holds the request open until new data is available or a timeout occurs.
PDU Protocol Data Unit A single unit of information transmitted among peer entities of a computer network (e.g., Segment, Packet, Frame).
Sticky Session Sticky Session / Session Affinity A load balancing strategy where a client’s requests are always routed to the same backend server (e.g., via IP Hash or Cookie).
VRRP Virtual Router Redundancy Protocol A computer networking protocol that provides for automatic assignment of available Internet Protocol (IP) routers to participating hosts.
TLS Termination TLS Termination The process of decrypting encrypted traffic (HTTPS) at the Load Balancer level before passing unencrypted traffic to the backend server.
HLS HTTP Live Streaming An HTTP-based adaptive bitrate streaming communications protocol developed by Apple Inc.
DASH Dynamic Adaptive Streaming over HTTP An adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers.
Anycast Anycast A network addressing and routing methodology in which a single destination address has multiple routing paths to two or more endpoint destinations.
Jitter Jitter A random variation added to a time interval to prevent synchronization of periodic events.
Multiplexing Multiplexing A method by which multiple analog or digital signals are combined into one signal over a shared medium.
Window Size Window Size The amount of data a sender can transmit without receiving an acknowledgment.
BBR Bottleneck Bandwidth and RTT A congestion control algorithm that models the network pipe to maximize throughput and minimize latency.
Cubic Cubic TCP A congestion control algorithm that uses a cubic function to control the window growth.
CID Connection ID A unique identifier used by QUIC to track connections across network changes.
Reverse Proxy Reverse Proxy A server that sits in front of one or more web servers, intercepting requests from clients.
Throttling Throttling The process of limiting the number of actions a user can perform in a given time period (often used interchangeably with Rate Limiting).
HPACK HPACK A compression format for efficiently representing HTTP header fields, to be used in HTTP/2.
QPACK QPACK A compression format for efficiently representing HTTP header fields, to be used in HTTP/3 (QUIC).
TFO TCP Fast Open An extension to TCP that allows data to be carried in the SYN packet (during the initial handshake).
gRPC-Web gRPC-Web A JavaScript client library that allows browser clients to access gRPC services via a special proxy.
WebRTC Web Real-Time Communication An open source project providing web browsers and mobile applications with real-time communication (audio, video, data) via simple APIs.
eBPF Extended Berkeley Packet Filter A technology that allows running sandboxed programs in the Linux kernel without changing kernel source code or loading modules.
XDP eXpress Data Path A Linux kernel feature that allows BPF programs to run on the network interface card (NIC) driver, enabling high-performance packet processing.
Connection Draining Connection Draining / Deregistration Delay The process of stopping new connections to a server while allowing existing ones to finish before shutting it down.
Connection Migration Connection Migration A feature of QUIC (HTTP/3) that allows a connection to survive network changes (e.g. WiFi to 4G) by using a Connection ID instead of IP/Port tuple.
PROXY Protocol PROXY Protocol A protocol developed by HAProxy for carrying original connection information (Client IP) across proxies without losing it.
IO Multiplexing IO Multiplexing A method that allows a single thread to monitor multiple file descriptors (sockets) to see if I/O is possible on any of them (e.g., epoll, kqueue).
ALPN Application-Layer Protocol Negotiation An extension to TLS that allows the application layer protocol to be negotiated during the TLS handshake (e.g., choosing between HTTP/1.1 and HTTP/2).
DDoS Distributed Denial of Service An attack where multiple compromised systems attack a target to cause a denial of service.
SNI Server Name Indication An extension to TLS that allows the client to indicate which hostname it is attempting to connect to at the start of the handshaking process.
JA3 JA3 Fingerprint A method for creating SSL/TLS client fingerprints that are easy to produce on any platform and can be easily shared for threat intelligence.
Forward Proxy Forward Proxy A proxy that sits in front of a client to protect it (e.g., VPN).
Connection Pooling Connection Pooling A cache of database or network connections maintained so that the connections can be reused when future requests to the database are required.
Nagle’s Algorithm Nagle’s Algorithm A TCP optimization that coalesces small packets into larger ones to improve efficiency.
Delayed ACK Delayed Acknowledgment A TCP optimization where the receiver waits before sending an ACK to piggyback it on a response.
MSS Maximum Segment Size The largest amount of data (in bytes) that can be received in a single TCP segment.
ICMP Internet Control Message Protocol A network layer protocol used by network devices to diagnose network communication issues (e.g., Ping, Traceroute).
WebTransport WebTransport A modern web API that uses the HTTP/3 protocol to enable bidirectional transport.
AMQP Advanced Message Queuing Protocol An open standard application layer protocol for message-oriented middleware.

Distributed Systems

Term Full Name Definition
CAP Consistency, Availability, Partition Tolerance A theorem stating that a distributed data store can only provide two of the three guarantees simultaneously.
OT Operational Transformation A technology for supporting a range of collaboration functionalities in advanced collaborative software systems (e.g. Google Docs).
CRDT Conflict-free Replicated Data Type A data structure which can be replicated across multiple computers in a network, where the replicas can be updated independently and concurrently without coordination between the replicas, and where it is always mathematically possible to resolve inconsistencies which might result.
Split Brain Split Brain A computer network condition where data inconsistencies originate from the maintenance of two separate sets of data with overlapping scope, usually due to a network partition.
Thundering Herd Thundering Herd Problem A problem that occurs when a large number of processes or threads waiting for an event are awoken when that event occurs, but only one process is able to handle the event.
Circuit Breaker Circuit Breaker Pattern A design pattern used to detect failures and encapsulate the logic of preventing a failure from constantly recurring during maintenance, temporary external system failure or unexpected system difficulties.
Backpressure Backpressure Resistance or force opposing the desired flow of fluid through pipes; in software, a mechanism for a consumer to signal a producer to slow down.
Idempotency Idempotency A property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application.
Kafka Apache Kafka An open-source distributed event streaming platform used for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
Service Mesh Service Mesh An infrastructure layer for facilitating service-to-service communications between microservices, often using a sidecar proxy.
2PC Two-Phase Commit A distributed algorithm that coordinates all the processes that participate in a distributed atomic transaction on whether to commit or abort (roll back) the transaction.
PACELC PACELC Theorem An extension of CAP. It states that even when there is no Partition (E), you must choose between Latency (L) and Consistency (C).
Quorum Quorum The minimum number of members of an assembly or society that must be present at any of its meetings to make the proceedings of that meeting valid. In distributed systems, R + W > N.
GraphQL Federation GraphQL Federation A distributed architecture where multiple GraphQL services (subgraphs) are composed into a single supergraph, accessible via a single gateway.
Saga Saga Pattern A sequence of local transactions where each transaction updates data within a single service, and the saga orchestrator publishes an event or message to trigger the next local transaction.
Merkle Tree Merkle Tree A tree in which every leaf node is labelled with the cryptographic hash of a data block, and every non-leaf node is labelled with the cryptographic hash of the labels of its child nodes. Used for efficient data verification.
Vector Clock Vector Clock A data structure used for determining the partial ordering of events in a distributed system and detecting concurrency conflicts.
Read Repair Read Repair A technique where a database client or coordinator detects stale data during a read operation and fixes it in the background by updating the stale replicas.
Hinted Handoff Hinted Handoff A mechanism where a write intended for a down node is temporarily stored on another node (with a hint) and replayed to the original node when it comes back online.
Strong Consistency Strong Consistency A consistency model where all reads are guaranteed to see the most recent write (or an error), ensuring the system behaves as a single entity.
Linearizability Linearizability The strongest consistency model where the system behaves as if it were a single copy of the data, and every operation appears to take effect instantaneously at some point between its invocation and its response.
Sidecar Sidecar Proxy A pattern where a secondary container (proxy) sits alongside the main application container to handle tasks like logging, monitoring, and network traffic (e.g., Envoy).
High Watermark High Watermark The offset in a log up to which all replicas agree, marking data as safe to read.
Sequencer Sequencer A component that assigns a unique, increasing number to events to establish a total order.
Log Compaction Log Compaction A process in log-structured systems (like Kafka) that removes old updates for a key, keeping only the latest value.
Fencing Token Fencing Token A number (epoch) that increases with each leader election, used to reject writes from old leaders (Zombie Masters).
NameNode NameNode The master node in HDFS that manages the file system namespace and metadata in memory.
DataNode DataNode The worker node in HDFS that stores the actual data blocks.
ISR In-Sync Replicas The set of replicas in Kafka that are fully caught up with the leader partition. Only ISR members can become the new leader.
Gossip Protocol Gossip Protocol A peer-to-peer communication protocol where nodes periodically exchange state information with random neighbors to disseminate information like cluster membership or failure detection.
NUMA Non-Uniform Memory Access A computer memory design used in multiprocessing where the memory access time depends on the memory location relative to the processor.
TrueTime Google TrueTime Google’s API that exposes the uncertainty of the current time, used in Spanner to achieve external consistency using atomic clocks and GPS.
Snowflake ID Snowflake ID A 64-bit unique ID generator that creates k-ordered, distributed, unique IDs without coordination, using a timestamp, machine ID, and sequence number.
Leader Election Leader Election A process by which nodes in a distributed system elect a leader to coordinate tasks and maintain consistency.
Redlock Redlock A distributed locking algorithm for Redis that uses a majority vote across multiple independent Redis instances to ensure safety.
ZAB ZooKeeper Atomic Broadcast A protocol used by ZooKeeper to propagate state changes (writes) from the leader to all followers in a strict order.
Ephemeral Node Ephemeral Node A type of ZooKeeper node that is automatically deleted when the client session that created it disconnects or expires.
Watch ZooKeeper Watch A mechanism in ZooKeeper where a client registers interest in a ZNode and receives a one-time notification when that ZNode changes.

Caching

Term Full Name Definition
L1 Cache Level 1 Cache The fastest and smallest memory cache built directly into the CPU.
LRU Least Recently Used A cache replacement algorithm that discards the least recently used items first.
LFU Least Frequently Used A type of cache algorithm used to manage memory within a computer.
TTL Time To Live A mechanism that limits the lifespan or lifetime of data in a computer or network.
ARC Adaptive Replacement Cache A high-performance cache eviction algorithm that dynamically balances between Recency (LRU) and Frequency (LFU) using four lists.
TinyLFU Tiny Least Frequently Used An eviction policy that uses a probabilistic Count-Min Sketch to track frequency efficiently, often paired with a small window cache.
Ghost List Ghost List A list in ARC that stores metadata of evicted keys (without data) to track if the cache size for Recency or Frequency should be increased.
BGSAVE Background Save A Redis command that creates a backup of the DB in the background (using fork) without blocking clients.
Write-Behind Write-Behind Caching A caching strategy where data is written to the cache and acknowledged immediately, then asynchronously written to the storage.

General System Design

Term Full Name Definition
Observability Observability A measure of how well internal states of a system can be inferred from knowledge of its external outputs (Logs, Metrics, Traces).
Exemplar Exemplar A specific trace ID attached to a metric data point (e.g., a histogram bucket) that serves as an example of a request falling into that bucket.
SPOF Single Point of Failure A part of a system that, if it fails, will stop the entire system from working.
Cascading Failure Cascading Failure A failure in one component that triggers a chain reaction, causing other components or the entire system to fail.
QPS Queries Per Second A common measure of the amount of traffic receiving by a particular server.
DAU Daily Active Users A metric used to measure the total number of unique users who engage with an app or website in a 24-hour period.
Monolith Monolithic Application A single-tiered software application in which the user interface and data access code are combined into a single program.
Microservices Microservices Architecture An architectural style that structures an application as a collection of services that are highly maintainable and testable.
Throughput Throughput The amount of material or items passing through a system or process (e.g., requests per second).
AKF AKF Scale Cube A 3D model (X, Y, Z axes) used to describe different ways to scale a software system.
PEDALS PEDALS Framework A 6-step framework for System Design Interviews: Process, Estimate, Design, Articulate, List, Scale.
NALSD Non-Abstract Large System Design Google’s term for System Design, focusing on practical, scalable systems.
Vertical Scaling Vertical Scaling Adding more power (CPU, RAM) to an existing machine.
Horizontal Scaling Horizontal Scaling Adding more machines to a system.
SSD Solid State Drive A storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory.
HDD Hard Disk Drive An electromechanical data storage device that uses magnetic storage to store data.
fsync File Sync A system call that transfers all modified in-core data of (i.e., modified buffer cache pages for) the file referred to by the file descriptor to the disk device.
O_DIRECT Direct I/O A flag that instructs the operating system to bypass the page cache and write directly to the disk, often used by databases for durability control.
IDL Interface Definition Language A specification language used to describe a software component’s interface, allowing different languages to communicate (e.g., in gRPC).
Block-Level Deduplication Block-Level Deduplication A data compression technique for eliminating duplicate copies of repeating data by splitting it into blocks and storing only unique blocks.
Namespace Flattening Namespace Flattening A technique of storing file hierarchy as flat relational rows (id, parent_id) rather than nested paths, enabling efficient renames.
Delta Sync Delta Synchronization A technique that reduces bandwidth consumption by transferring only the parts of a file that have changed, rather than the entire file.
RCE Remote Code Execution A vulnerability or feature allowing a user to run arbitrary code on a server.
Sandboxing Sandboxing A security mechanism for running programs in an isolated environment, preventing them from accessing the host system.
Seccomp Secure Computing Mode A Linux kernel feature that restricts the system calls a process can make, reducing the attack surface.
cgroups Control Groups A Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O) of a collection of processes.
Namespaces Linux Namespaces A feature of the Linux kernel that partitions kernel resources (like PIDs, Network, Mounts) so that processes see different views of the system.
Firecracker Firecracker A virtual machine monitor (VMM) that uses KVM to create and manage microVMs, optimized for serverless computing.
gVisor gVisor A container sandbox by Google that intercepts syscalls in user space to provide isolation.
Double-Entry Ledger Double-Entry Ledger An accounting method where every entry to an account requires a corresponding and opposite entry to a different account.
RRULE Recurrence Rule A standard (iCalendar RFC 5545) for defining repeating events.
Reconciliation Reconciliation The process of ensuring that two sets of records (e.g., internal DB vs bank statement) are in agreement.
Erasure Coding Erasure Coding A method of data protection in which data is broken into fragments, expanded and encoded with redundant data pieces, and stored across a set of different locations (e.g., Reed-Solomon).
BFF Backend For Frontend A design pattern where you build separate API Gateways for different client types (e.g., Mobile BFF vs Web BFF).
Cardinality Cardinality The number of unique elements in a set. In metrics, it refers to the number of unique combinations of label values.
Trace ID Trace ID A unique identifier that links all spans in a distributed transaction, allowing you to track a request across microservices.
Span Span A single unit of work (e.g., database query, API call) within a trace, containing start time, duration, and metadata.
OpenTelemetry OpenTelemetry A vendor-neutral open-source observability framework for instrumenting, generating, collecting, and exporting telemetry data.
RED Method Rate, Errors, Duration A monitoring methodology for microservices focusing on Request Rate, Error Rate, and Duration (Latency).
USE Method Utilization, Saturation, Errors A monitoring methodology for infrastructure resources focusing on Utilization, Saturation, and Errors.
Error Budget Error Budget The maximum amount of time a system is allowed to be down without violating the SLO.
SLA Service Level Agreement A contract between a service provider and a client that specifies the level of service expected.
SLI Service Level Indicator A quantitative measure of a specific aspect of the level of service provided.
SLO Service Level Objective A target value or range of values for a service level that is measured by an SLI.
MVP Minimum Viable Product The simplest version of a product required to test a hypothesis with users.
Functional Requirement Functional Requirement A specific behavior or function of the system (What the system does).
Non-Functional Requirement Non-Functional Requirement A quality attribute of the system, such as scalability or security (How the system performs).
RFQ Request for Quote A trading model where the system provides a fixed price valid for a short window, requiring management of race conditions and market risk.
Availability Availability The percentage of time a system is operational and accessible.
Reliability Reliability The probability that a system will function correctly and perform its intended action during a specified period.
Concurrent Users Concurrent Users The number of users simultaneously engaging with the system at a specific moment.
Back of the Envelope Back of the Envelope Estimation A rough calculation, typically done on paper, to estimate system capacity and performance requirements.
Race Condition Race Condition A situation where the behavior of software depends on the relative timing of events, often resulting in bugs when multiple threads access shared data.

Data Structures

Term Full Name Definition
BST Binary Search Tree A rooted binary tree data structure whose internal nodes each store a key greater than all the keys in the node’s left subtree and less than those in its right subtree.
B-Tree Balanced Tree A self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time.
LSM Tree Log-Structured Merge-tree A data structure with performance characteristics that make it attractive for providing indexed access to files with high insert volume.
Trie Trie / Prefix Tree A search tree data structure used for storing a dynamic set or associative array where the keys are usually strings.
Skiplist Skiplist A probabilistic data structure that allows O(log n) search complexity within an ordered sequence of elements, using multiple layers of linked lists.
QuadTree QuadTree A tree data structure where each node has exactly 4 children. Used for spatial indexing.
Interval Tree Interval Tree A tree data structure to hold intervals. Specifically, it allows one to efficiently find all intervals that overlap with any given interval or point.
SSTable Sorted String Table An immutable data file used by LSM trees where keys are sorted, allowing efficient merging and scanning.

Algorithms

Term Full Name Definition
DAG Directed Acyclic Graph A directed graph with no directed cycles. Used in data processing pipelines (e.g., Spark, Airflow) to represent dependencies between tasks.
BFS Breadth-First Search A graph traversal algorithm that starts at the tree root and explores all neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.
DFS Depth-First Search An algorithm for traversing or searching tree or graph data structures.
Consistent Hashing Consistent Hashing A special kind of hashing such that when a hash table is resized, only K/n keys need to be remapped on average, where K is the number of keys, and n is the number of slots.
Bloom Filter Bloom Filter A space-efficient probabilistic data structure that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not.
SimHash SimHash A locality-sensitive hashing algorithm where the Hamming distance between the hashes of two documents correlates with the similarity of the documents.
Rolling Hash Rolling Hash (Rabin-Karp) A hash function where the input is hashed in a window that moves through the input, allowing for fast updates and pattern matching.
Paxos Paxos Consensus A family of protocols for solving consensus in a network of unreliable processors (e.g., electing a leader).
Raft Raft Consensus A consensus algorithm that is designed to be easy to understand, equivalent to Paxos in fault-tolerance and performance.
Reed-Solomon Reed-Solomon Codes An error-correcting code that works by oversampling a polynomial constructed from the data. Used in storage systems (HDFS) to recover lost data.
Geohashing Geohashing A public domain geocode system which encodes a geographic location into a short string of letters and digits.
Token Bucket Token Bucket An algorithm used in packet switched computer networks and telecommunications networks. It can be used to check that data transmissions, in the form of packets, conform to defined limits on bandwidth and burstiness (a measure of the unevenness or variations in the traffic flow).
Leaky Bucket Leaky Bucket An algorithm used in packet switched computer networks and telecommunications networks. It is used to check that data transmissions, in the form of packets, conform to defined limits on bandwidth and burstiness (a measure of the unevenness or variations in the traffic flow).
2PL Two-Phase Locking A concurrency control method that guarantees serializability. It has two phases: expanding (acquiring locks) and shrinking (releasing locks).
SSI Serializable Snapshot Isolation An optimistic concurrency control method that allows a database to provide full serializability (ACID) while maintaining the performance benefits of Snapshot Isolation.
ABR Adaptive Bitrate Streaming A technique used in streaming multimedia over computer networks where the source content is encoded at multiple bit rates and the client switches between them based on resources.
Google S2 Google S2 Geometry A spatial indexing library by Google that maps the sphere to a cube, then uses a Hilbert Curve to map 2D cells to 1D integers.
Bully Algorithm Bully Algorithm A method for dynamically electing a coordinator or leader from a group of distributed computer processes. The process with the highest process ID that is alive becomes the coordinator.
EdgeRank EdgeRank A simplified ranking algorithm used by Facebook to determine the order of items in a news feed based on Affinity, Weight, and Time Decay.
HyperLogLog HyperLogLog A probabilistic data structure used for estimating the cardinality of a set with very low memory usage.
Power of Two Choices Power of Two Choices A load balancing algorithm where two random servers are picked and the one with the least load is chosen.
Peak EWMA Peak Exponential Weighted Moving Average A load balancing algorithm that uses a moving average of response times, reacting quickly to latency spikes.
Maglev Hashing Maglev Hashing A consistent hashing algorithm developed by Google that uses a lookup table to map items to buckets, providing O(1) lookups and minimal disruption.
Jump Consistent Hash Jump Consistent Hash A fast, minimal-memory consistent hashing algorithm by Google that outputs a bucket ID using a pseudo-random generator.

Messaging & Queues

Term Full Name Definition
DLQ Dead Letter Queue A service implementation to store messages that meet one or more of the following criteria: Message is not consumed successfully, Message has expired, etc.
FIFO First-In, First-Out A method of processing and retrieving data where the first items entered are the first ones removed.
Fanout Fanout A messaging pattern where a single message is broadcast to multiple subscribers simultaneously.
Topic Topic A named category or feed name to which records are published in messaging systems like Kafka.
Partition Partition A unit of parallelism in Kafka; a topic is split into multiple partitions, which can be hosted on different brokers.
Log Abstraction Log Abstraction The core concept of Kafka: an append-only, totally ordered sequence of records ordered by time.
Pub/Sub Publish-Subscribe A messaging pattern where senders (publishers) broadcast messages to a topic, and receivers (subscribers) listen to that topic, without direct coupling.
ISR In-Sync Replicas The set of replica nodes that are fully caught up with the leader’s log. Only members of the ISR can be elected as a new leader.
EOS Exactly-Once Semantics A guarantee that each message is delivered and processed exactly once, ensuring no duplication or data loss.
Zero Copy Zero Copy A technique that avoids CPU copying of data between memory buffers (e.g., from Kernel to User space), significantly improving performance.
Routing Key Routing Key A key used to determine how the exchange routes the message to queues (used in AMQP).
Rebalancing Rebalancing The process of reassigning partitions to consumers in a consumer group when a consumer joins or leaves.

Security & Identity

Term Full Name Definition
OAuth 2.0 Open Authorization 2.0 An open standard for access delegation, commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
OIDC OpenID Connect An identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server.
JWT JSON Web Token An open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object.
PKCE Proof Key for Code Exchange An extension to OAuth 2.0 that prevents authorization code injection attacks, mandatory for mobile and single-page apps.
mTLS Mutual TLS A security method where both the client and server authenticate each other using digital certificates.
Zero Trust Zero Trust Security A security model that requires strict identity verification for every person and device trying to access resources on a private network, regardless of whether they are sitting within or outside of the network perimeter.
Session Key Session Key A symmetric key generated for a specific session to encrypt data transfer, derived from the key exchange (e.g., Diffie-Hellman).
Diffie-Hellman Diffie-Hellman Key Exchange A method of securely exchanging cryptographic keys over a public channel.

DevOps & Deployment

Term Full Name Definition
SRE Site Reliability Engineering A discipline that incorporates aspects of software engineering and applies them to infrastructure and operations problems.
GitOps GitOps A set of practices to manage infrastructure and application configurations using Git, an open-source version control system.
Canary Canary Deployment A deployment strategy where the new version of an application is rolled out to a small subset of users before being rolled out to the entire infrastructure.
Blue/Green Blue/Green Deployment A technique that reduces downtime and risk by running two identical production environments called Blue and Green.
Feature Flag Feature Flag / Toggle A software development technique that turns certain functionality on and off during runtime, without deploying new code.
Shadow Deployment Shadow Deployment A deployment strategy where a new version of the application receives real-world traffic alongside the current version, but its response is ignored (fire-and-forget) to test performance without risk.
AES-NI AES New Instructions A set of instructions for the x86 instruction set architecture for microprocessors from Intel and AMD to speed up encryption.
Flapping Flapping A condition where a service or resource repeatedly changes state (e.g., Up/Down) over a short period of time.
12-Factor App The Twelve-Factor App A methodology for building software-as-a-service applications that are portable, scalable, and resilient.
Chaos Engineering Chaos Engineering The practice of intentionally injecting faults into a system to test its resilience.
JMX Java Management Extensions A technology that supplies tools for managing and monitoring applications, system objects, devices, and service-oriented networks.
JVM Java Virtual Machine A virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode.
ZKFC ZooKeeper Failover Controller A daemon that monitors the health of a NameNode (in HDFS) and handles automatic failover using ZooKeeper.
STONITH Shoot The Other Node In The Head A fencing technique used in computer clusters to ensure that a malfunctioning node is completely disabled (usually via power cut) to prevent data corruption.

AI & Machine Learning

Term Full Name Definition
Quantization Quantization The process of reducing the precision of the numbers used to represent model parameters (e.g., from 32-bit float to 8-bit integer) to reduce memory usage and increase inference speed.
Embeddings Vector Embeddings A representation of data (like words or images) as vectors of real numbers in a high-dimensional space, where similar items are closer together.
Fine-Tuning Fine-Tuning A transfer learning approach where a pre-trained machine learning model is further trained on a smaller, specific dataset to adapt it to a particular task.
Inference Model Inference The process of using a trained machine learning model to make predictions or generate outputs based on new, unseen input data.
RAG Retrieval Augmented Generation An AI framework that retrieves data from external sources of knowledge to ground and improve the generation of LLM responses.
Vector DB Vector Database A database designed to store and query high-dimensional vectors (embeddings) efficiently, often used for AI/ML similarity search.