Glossary
Every term introduced across both books, with the chapter that introduces it — cross-linked between Designing Data-Intensive Applications and Kafka: The Definitive Guide.
686 shown · 0 in both books
#
A
- abstractionDDIA 2
- accountability / recourseDDIA 14
- ACIDDDIA 8
- ACID consistency / invariants / constraintsDDIA 8
- acknowledgment / redeliveryDDIA 12
- ACM Code of Ethics and Professional ConductDDIA 14
- actor modelDDIA 5
- actual serial executionDDIA 8
- adjacency list / adjacency matrixDDIA 3
- aggregation pipelineDDIA 3
- algorithmic collusionDDIA 14
- algorithmic prisonDDIA 14
- anti-entropyDDIA 6
- Apache Pig / Morel / GremlinDDIA 11
- API versioningDDIA 5
- apology workflowDDIA 13
- ApplicationMaster / operatorDDIA 11
- archival storageDDIA 5
- array databaseDDIA 3
- ASN.1 / DER / X.509DDIA 5
- associative (join) tableDDIA 3
- AsyncAPIDDIA 5
- asynchronous packet networkDDIA 9
- ATM / InfiniBand / QoS / L4SDDIA 9
- atomic commitDDIA 12
- atomic commitmentDDIA 10
- atomic commitment problemDDIA 8
- atomic incrementDDIA 8
- atomicity / abortabilityDDIA 8
- Attiya–Welch boundDDIA 10
- auditingDDIA 13
- autoincrementing IDDDIA 10
- automatic vs manual rebalancingDDIA 7
- availability zoneDDIA 2
- Avro IDLDDIA 5
B
- B-treeDDIA 4
- backpressureDDIA 2DDIA 11
- backpressure / flow controlDDIA 12
- backward compatibilityDDIA 5
- BASEDDIA 8
- Base64DDIA 5
- batch processing jobDDIA 11
- behavioral dataDDIA 14
- BIDDIA 1
- big ball of mudDDIA 2
- binary JSON variants (MessagePack, CBOR, BSON…)DDIA 5
- binlog coordinates / GTIDDDIA 6
- bisection bandwidthDDIA 1
- bitmap encodingDDIA 4
- blameless postmortemDDIA 2
- block device driver / page cache / VFSDDIA 11
- blocking atomic commit protocolDDIA 8
- Bloom filterDDIA 4
- bounded delayDDIA 9
- bounded vs unbounded inputDDIA 12
- BPMN / BPELDDIA 5
- branching factorDDIA 4
- BSONDDIA 3
- bulk import / SST filesDDIA 11
- bulk synchronous parallel (BSP) / Pregel modelDDIA 11
- Byzantine faultDDIA 9
- Byzantine Generals ProblemDDIA 9
C
- CAP theoremDDIA 10
- CASDDIA 10
- cascading abortsDDIA 8
- cascading failureDDIA 2
- catch-up recoveryDDIA 6
- causal contextDDIA 6
- causally dependentDDIA 6
- cell-based architectureDDIA 7
- certificate transparencyDDIA 13
- cgroupsDDIA 11
- change data captureDDIA 6
- change data capture (CDC)DDIA 12
- change notification / watchDDIA 10
- changelogDDIA 12
- chaos engineeringDDIA 2DDIA 9
- checkpointingDDIA 11
- checkpointing / barriersDDIA 12
- ChubbyDDIA 10
- circuit breakerDDIA 2
- circuit switching vs packet switchingDDIA 9
- circular / ring bufferDDIA 12
- clobberingDDIA 8
- clock drift (ppm)DDIA 9
- Clos topologyDDIA 1
- cloud nativeDDIA 1
- clustered indexDDIA 4
- column familiesDDIA 3
- column-oriented (columnar) storageDDIA 4
- command vs eventDDIA 3
- commit / abort / rollbackDDIA 8
- commit pointDDIA 8
- commit waitDDIA 9
- commutative operationsDDIA 8
- compactionDDIA 4
- compensating transactionDDIA 13
- complex event processing (CEP)DDIA 12
- concatenated indexDDIA 4
- concurrentDDIA 6
- conditional write / CASDDIA 9
- conditional write / compare-and-setDDIA 6
- conditional write / compare-and-set (CAS)DDIA 8
- confidence intervalDDIA 9
- conflict avoidanceDDIA 6
- congestion control / flow control / backpressureDDIA 9
- consensusDDIA 10
- consensus numberDDIA 10
- consent (freely given, specific, informed, unambiguous)DDIA 14
- consistency levelDDIA 6
- consistent hashingDDIA 7
- consistent prefix readsDDIA 6
- consumer / subscriber / recipientDDIA 12
- consumer groupDDIA 12
- coordination serviceDDIA 10
- coordination service (ZooKeeper, etcd)DDIA 7
- coordination-avoiding data systemsDDIA 13
- coordinator / transaction managerDDIA 8
- coordinator nodeDDIA 6
- copy-on-writeDDIA 4
- cosine similarity / Euclidean distanceDDIA 4
- cost-based optimizerDDIA 11
- covering index / index with included columnsDDIA 4
- CP / APDDIA 10
- CQRSDDIA 3
- crash-recoveryDDIA 9
- crash-stop (fail-stop)DDIA 9
- CRDTDDIA 6
- cross-channel timing dependencyDDIA 10
- crypto-shreddingDDIA 3
- crypto-shredding / puncturable encryptionDDIA 12
- Cypher / openCypher / GQLDDIA 3
D
- data as laborDDIA 14
- data brokersDDIA 14
- data contractDDIA 12
- data cube / OLAP cubeDDIA 4
- data exhaustDDIA 14
- data infrastructureDDIA 1
- data integrationDDIA 13
- data lakeDDIA 1
- data lakehouseDDIA 11
- data localityDDIA 3
- data mesh / data contract / data fabricDDIA 11
- data minimization (Datensparsamkeit)DDIA 1DDIA 14
- data model layeringDDIA 3
- data node / DataNode / NameNodeDDIA 11
- data outlives codeDDIA 5
- data pipelineDDIA 1
- data residencyDDIA 1DDIA 7
- data warehouseDDIA 1
- data-intensiveDDIA 1
- database-internal vs heterogeneous distributed transactionsDDIA 8
- dataflow engineDDIA 11
- DataFrame / mergeDDIA 3
- Datalog / facts / rules / derived virtual tablesDDIA 3
- DBLog watermarkingDDIA 12
- dead letter queue (DLQ)DDIA 12
- deadlockDDIA 8
- declarative vs imperative query languageDDIA 3
- decoding / parsing / deserialization / unmarshalingDDIA 5
- derivation functionDDIA 13
- derived dataDDIA 1
- determinismDDIA 5
- deterministic simulation testing (DST)DDIA 9
- DevOps / SREDDIA 1
- dimension tableDDIA 3
- dimensional modelingDDIA 3
- dirty readDDIA 8
- dirty writeDDIA 8
- disaggregationDDIA 1
- distributed actor frameworkDDIA 5
- distributed filesystem (DFS)DDIA 11
- distributed RPCDDIA 13
- distributed systemDDIA 1
- distributed transactionDDIA 8
- DMZDDIA 11
- dual gauge / mixed gauge (the railway analogy)DDIA 13
- dual writesDDIA 12
- duplicate suppressionDDIA 13
- durabilityDDIA 8
- durable executionDDIA 5
E
- eager vs lazy evaluationDDIA 13
- echo chamberDDIA 14
- edit distanceDDIA 4
- elasticityDDIA 1
- embedded storage engineDDIA 4
- encoding / serialization / marshalingDDIA 5
- end-to-end event streamsDDIA 13
- ephemeral nodeDDIA 10
- epochDDIA 9
- epoch number / ballot number / view number / term numberDDIA 10
- erasure coding (Reed–Solomon)DDIA 11
- essential vs accidental complexityDDIA 2
- ETL / ELTDDIA 1
- eventDDIA 12
- event sourcingDDIA 3
- event-driven architectureDDIA 5
- eventual consistencyDDIA 6
- eventual vs strong consistencyDDIA 10
- evolvabilityDDIA 2
- exactly-once / effectively-once semanticsDDIA 12
- exactly-once semanticsDDIA 2DDIA 5DDIA 8
- excision / shunningDDIA 12
- exponential backoffDDIA 2
F
- fact tableDDIA 3
- failoverDDIA 6
- false positiveDDIA 4
- false positive / false negative in failure detectionDDIA 9
- fan-outDDIA 2
- fault injectionDDIA 2DDIA 9
- fault toleranceDDIA 2
- fault vs failureDDIA 2
- feature engineering / model training / batch inferenceDDIA 11
- federated database / polystoreDDIA 13
- fencingDDIA 6DDIA 9DDIA 12
- fencing token / sequencer / epoch number / ballot number / term numberDDIA 9
- fetch-and-addDDIA 10
- field aliasesDDIA 5
- field tagDDIA 5
- FIFO / dominant resource fairness (DRF) / bin-packingDDIA 11
- fine-tuningDDIA 11
- fixed number of shardsDDIA 7
- flash garbage collectionDDIA 4
- flat indexDDIA 4
- FLP resultDDIA 10
- follower / read replica / secondary / hot standbyDDIA 6
- forward compatibilityDDIA 5
- forwarding pointerDDIA 4
- fragmentation / vacuumDDIA 4
- frontend / backendDDIA 1
- full-text searchDDIA 4
- functional / nonfunctional requirementsDDIA 2
- FUSE / NFSDDIA 11
G
H
- happens-beforeDDIA 6
- hard real-timeDDIA 9
- hardware/software load balancersDDIA 5
- hash indexDDIA 4
- hash joinDDIA 12
- hash shardingDDIA 7
- hash-range shardingDDIA 7
- HdrHistogram / t-digest / DDSketchDDIA 2
- head-of-line blockingDDIA 2
- head-of-line queueingDDIA 9
- heap fileDDIA 4
- heat management / adaptive capacityDDIA 7
- heuristic decisionDDIA 8
- hinted handoffDDIA 6
- HNSWDDIA 4
- horizontal scaling / scale-outDDIA 7
- hot keyDDIA 7
- hot shard / hot spotDDIA 7
- HPCDDIA 1
- HTAPDDIA 1
- human fault toleranceDDIA 11
- hybrid logical clock (HLC)DDIA 10
- hydrating IDsDDIA 3
- hypergraphDDIA 3
- HyperLogLogDDIA 12
I
- IaaSDDIA 1
- ICMP Destination UnreachableDDIA 9
- idempotenceDDIA 5DDIA 8DDIA 12
- immutable / copy-on-write B-treeDDIA 8
- impedance mismatchDDIA 3
- in doubt / uncertainDDIA 8
- in-memory databaseDDIA 4
- incremental view maintenance (IVM)DDIA 12
- indexDDIA 4
- index-range lock / next-key lockingDDIA 8
- initial snapshotDDIA 12
- input format parserDDIA 11
- integrityDDIA 13
- interface definition language (IDL)DDIA 5
- interleaved tablesDDIA 3
- inverted indexDDIA 4
- irreversibilityDDIA 2
- isolationDDIA 8
- IVF index / centroid / probesDDIA 4
J
K
L
- Lamport clock / Lamport timestampDDIA 10
- last write wins (LWW)DDIA 6
- latencyDDIA 2
- leader / primary / sourceDDIA 6
- leaderless / Dynamo-styleDDIA 6
- leaf pageDDIA 4
- leap secondDDIA 9
- leaseDDIA 9
- legitimate interestDDIA 14
- leveled compactionDDIA 4
- Levenshtein automatonDDIA 4
- limping node / gray failure / fail-slowDDIA 9
- lineageDDIA 11
- linear scalabilityDDIA 2
- linearizability / atomic consistency / immediate consistency / external consistencyDDIA 10
- linearization pointDDIA 10
- live migrationDDIA 9
- liveness propertyDDIA 9
- load balancingDDIA 5
- load balancing vs fan-outDDIA 12
- load sheddingDDIA 2
- local secondary index / document-partitioned indexDDIA 7
- local-firstDDIA 6
- location transparencyDDIA 5
- log (append-only sequence of records)DDIA 4
- log compactionDDIA 12
- log sequence number (LSN)DDIA 6
- log-based message brokerDDIA 12
- logical (row-based) logDDIA 6
- logical clockDDIA 10
- logical clock vs physical clockDDIA 9
- logical timestampsDDIA 13
- loosely interpreted constraintsDDIA 13
- lost updateDDIA 8
- LSM-treeDDIA 4
M
- magic scaling sauceDDIA 2
- majorityDDIA 9
- many-to-manyDDIA 3
- many-to-oneDDIA 3
- mapper / reducerDDIA 11
- MapReduceDDIA 11
- materialization / materialized viewDDIA 2
- materialized aggregateDDIA 4
- materialized view vs virtual viewDDIA 4
- materializing conflictsDDIA 8
- mean / median / p50 / p95 / p99 / p999DDIA 2
- memory barrier / fenceDDIA 10
- memtableDDIA 4
- mergeDDIA 4
- Merkle treeDDIA 13
- message broker / event broker / message queue / message-oriented middlewareDDIA 5
- message broker / message queueDDIA 12
- meta-database of everythingDDIA 13
- metastable failureDDIA 2
- metered billingDDIA 1
- micro-partition / cluster columns / cluster keysDDIA 7
- microbatchingDDIA 12
- migrationDDIA 5
- model checkingDDIA 9
- monotonic clockDDIA 9
- monotonic readsDDIA 6
- moral imaginationDDIA 14
- multi-leader / active-active / bidirectional replicationDDIA 6
- multi-object transactionDDIA 8
- multidimensional indexDDIA 4
- multitenancyDDIA 1
- multitenancy / tenantDDIA 7
- multiversion concurrency control (MVCC)DDIA 8
N
- n-gram / trigramDDIA 4
- N+1 query problemDDIA 3
- netcodeDDIA 6
- network congestionDDIA 9
- network latencyDDIA 2
- network partitionDDIA 10
- network partition / netsplitDDIA 9
- NewSQLDDIA 6
- nodeDDIA 1
- noisy neighbourDDIA 9
- nondeterminismDDIA 9
- nonsimple domainsDDIA 3
- nontrivialityDDIA 10
- normalization / denormalizationDDIA 3
- NoSQL / NewSQLDDIA 3
- NTPDDIA 9
- NUMADDIA 7
O
- object container filesDDIA 5
- object storageDDIA 1
- object store / bucket / keyDDIA 11
- observabilityDDIA 1
- observerDDIA 10
- observer patternDDIA 13
- offline-firstDDIA 6
- offsetDDIA 12
- OLAPDDIA 1
- OLTPDDIA 1
- on premisesDDIA 1
- one big table (OBT)DDIA 3
- one-hot encodingDDIA 3
- one-to-many / one-to-fewDDIA 3
- online vs offline systemsDDIA 11
- open vs closed content modelDDIA 5
- OpenAPI / SwaggerDDIA 5
- operabilityDDIA 2
- operational transformation (OT)DDIA 6
- operator / jobDDIA 12
- operator / query planDDIA 4
- operator fusionDDIA 11
- optimistic lockingDDIA 8
- ORMDDIA 3
- orphaned in-doubt transactionDDIA 8
- outbox patternDDIA 12
P
- PACELCDDIA 10
- pageDDIA 4
- page numberDDIA 4
- page splitDDIA 4
- partial failureDDIA 9
- participantDDIA 8
- partition / shardDDIA 12
- partition keyDDIA 7
- Paxos / Multi-Paxos / EPaxosDDIA 10
- percolatorDDIA 12
- pessimistic vs optimistic concurrency controlDDIA 8
- phantomDDIA 8
- Phi Accrual failure detectorDDIA 9
- physical clockDDIA 10
- point queryDDIA 1
- pollingDDIA 2
- poor civic hygieneDDIA 14
- postings listDDIA 4DDIA 7
- pre-aggregation vs ad hoc queriesDDIA 11
- pre-splittingDDIA 7
- pre-voteDDIA 10
- preallocated ID blocksDDIA 10
- predicate lockDDIA 8
- predictive analyticsDDIA 14
- preemptionDDIA 11
- prefix listingDDIA 11
- premiseDDIA 8
- prepare requestDDIA 8
- primary key indexDDIA 4
- privacy as a decision rightDDIA 14
- process pauseDDIA 9
- processing time vs event timeDDIA 12
- producer / publisher / senderDDIA 12
- projection / read modelDDIA 3
- property graphDDIA 3
- protected traitsDDIA 14
- provenanceDDIA 13
- proxy variablesDDIA 14
- PTPDDIA 9
- purpose limitationDDIA 14
Q
R
- R-tree / Bkd-tree / GiSTDDIA 4
- RaftDDIA 10
- random vs sequential writesDDIA 4
- RDFDDIA 3
- read committedDDIA 8
- read repairDDIA 6
- read skew / nonrepeatable readDDIA 8
- read uncommittedDDIA 8
- read-after-write / read-your-writes consistencyDDIA 6
- read-modify-write cycleDDIA 8
- reads as eventsDDIA 13
- recency guaranteeDDIA 10
- reconfigurationDDIA 10
- recursive CTE (`WITH RECURSIVE`)DDIA 3
- region vs availability zoneDDIA 6
- registerDDIA 10
- relation / tupleDDIA 3
- remote procedure call (RPC)DDIA 5
- rendezvous (highest random weight) hashingDDIA 7
- repeatable readDDIA 8
- replicaDDIA 6
- replication lagDDIA 6
- replication log / change streamDDIA 6
- replication topology (circular, star, all-to-all)DDIA 6
- reprocessingDDIA 13
- request hedgingDDIA 6
- request ID / idempotency keyDDIA 13
- request routingDDIA 7
- reserved tag numbersDDIA 5
- reshardingDDIA 7
- resource managerDDIA 11
- response timeDDIA 2
- REST / RESTfulDDIA 5
- retry stormDDIA 2
- reverse ETLDDIA 1
- right to be forgottenDDIA 1
- roaring bitmapsDDIA 4
- rolling upgradeDDIA 2
- rolling upgrade / staged rolloutDDIA 5
- routing tierDDIA 7
- row-level lockDDIA 8
- RST / FINDDIA 9
- RTOSDDIA 9
- run-length encodingDDIA 4
S
- safety guaranteesDDIA 8
- safety propertyDDIA 9
- salting (random prefix/suffix)DDIA 7
- savepointDDIA 12
- scalabilityDDIA 2
- scatter/gatherDDIA 7
- schedulerDDIA 11
- schema evolutionDDIA 5
- schema registryDDIA 5
- schema resolutionDDIA 5
- schema-on-read / schema-on-writeDDIA 3
- schemaless (misleading)DDIA 3
- secondary indexDDIA 4
- secondary sortDDIA 11
- segmentDDIA 4DDIA 12
- self-regulationDDIA 14
- self-reinforcing feedback loopDDIA 14
- self-validating / self-auditing systemsDDIA 13
- semantic searchDDIA 4
- Semantic Web / linked data / JSON-LDDDIA 3
- semisynchronousDDIA 6
- separation of Church and stateDDIA 13
- separation of storage and computeDDIA 1
- sequential consistencyDDIA 10
- serializabilityDDIA 8
- serializability vs linearizabilityDDIA 10
- serializable snapshot isolation (SSI)DDIA 8
- server-sent events / WebSocketsDDIA 13
- serverless / FaaSDDIA 1
- serviceDDIA 5
- service discoveryDDIA 5
- service frameworkDDIA 5
- service mesh / sidecarDDIA 5
- service registryDDIA 10
- service timeDDIA 2
- sessionizationDDIA 12
- shreddingDDIA 3
- shuffleDDIA 11
- siblingsDDIA 6DDIA 8
- SIGSTOP / SIGCONTDDIA 9
- SIMDDDIA 4
- simplicityDDIA 2
- single point of failure (SPOF)DDIA 2
- single-object writeDDIA 8
- size-tiered compactionDDIA 4
- skewDDIA 7
- slewingDDIA 9
- SLO / SLADDIA 2
- sloppy quorumDDIA 6
- slowly changing dimension (SCD)DDIA 12
- smearingDDIA 9
- snapshot isolationDDIA 8
- Snowflake IDDDIA 10
- snowflake schemaDDIA 3
- SOA / microservicesDDIA 1
- sort keyDDIA 4
- sort-merge joinDDIA 11
- space-filling curveDDIA 4
- SPARQLDDIA 3
- sparse indexDDIA 4
- sparse matrixDDIA 3
- split brainDDIA 6
- spot / preemptible instancesDDIA 11
- SSTableDDIA 4
- stable storageDDIA 9
- star schemaDDIA 3
- starvationDDIA 11
- state machine replicationDDIA 6DDIA 8DDIA 10
- statelessDDIA 1
- statement-based replicationDDIA 6
- steal timeDDIA 9
- steppingDDIA 9
- STONITHDDIA 9
- stop-the-world GC pauseDDIA 9
- stored procedureDDIA 8
- straggler eventDDIA 12
- streamDDIA 12
- stream analyticsDDIA 12
- stream–stream join (window join)DDIA 12
- stream–table join (enrichment)DDIA 12
- strict serializability / strong-1SRDDIA 10
- strong eventual consistencyDDIA 6
- subject-predicate-objectDDIA 3
- surveillanceDDIA 14
- sushi principleDDIA 1
- sync engineDDIA 6
- synchronous / asynchronous replicationDDIA 6
- synchronous / partially synchronous / asynchronous modelDDIA 9
- system modelDDIA 9
- system of record / derived dataDDIA 13
- system of record / source of truthDDIA 1
- systems thinkingDDIA 14
T
- table format / catalogDDIA 11
- table–table joinDDIA 12
- tail / head vertexDDIA 3
- tail latencyDDIA 2
- tail latency amplificationDDIA 2DDIA 7
- task executor / NodeManager / kubeletDDIA 11
- termDDIA 4DDIA 7
- the end-to-end argumentDDIA 13
- thrashingDDIA 9
- three-phase commit (3PC)DDIA 8
- throughputDDIA 2
- tiered storageDDIA 6DDIA 12
- time travelDDIA 11
- time-of-day clockDDIA 9
- time-travel debuggingDDIA 13
- timelinessDDIA 13
- timestamp oracleDDIA 10
- TLA+DDIA 9
- token bucketDDIA 2
- tombstoneDDIA 4DDIA 12
- topicDDIA 12
- torn pageDDIA 4
- total order broadcastDDIA 13
- total order broadcast / atomic broadcast / total order multicastDDIA 10
- toxic asset / hazardous material / "the new uranium"DDIA 14
- tragedy of the commonsDDIA 14
- transactionDDIA 8
- transaction ID (txid)DDIA 8
- transfer of privacy rightsDDIA 14
- triple storeDDIA 3
- tripwireDDIA 8
- TrueTime / ClockBoundDDIA 9
- tumbling / hopping / sliding / session windowsDDIA 12
- Turtle / N3DDIA 3
- two generals problemDDIA 9
- two-phase commit (2PC)DDIA 8
- two-phase locking (2PL)DDIA 8
U
V
W
- WAL shippingDDIA 6
- watermarkDDIA 12
- web serviceDDIA 5
- webhookDDIA 12
- wide-column (column-family)DDIA 4
- windowDDIA 12
- workflow / DAGDDIA 11
- workflow / task / activity / durable functionDDIA 5
- workflow engine (orchestrator + executor)DDIA 5
- workflow scheduler (Airflow, Dagster, Prefect)DDIA 11
- working setDDIA 11
- write amplificationDDIA 4
- write path / read pathDDIA 13
- write skewDDIA 8
- write-ahead log (WAL) / journalingDDIA 4
- writer's schema / reader's schemaDDIA 5