Glossary
95 terms, in the sense this mechanism uses them. The platform glossary has every term across all mechanisms.
/
- Adoption (as a resource)
- An interface wins because many tools already use it; the same installed base later makes it hard to change.
- Allow-listed queries
- A GraphQL defence: only pre-approved query shapes are accepted, which re-creates fixed endpoints.
- Arrow / Arrow Flight
- Arrow is a columnar in-memory layout; Flight is an RPC system that sends Arrow data directly over the network.
- Atomic
- A change that is either fully visible or not visible at all.A change that is either fully visible or not visible at all. Renaming a single file on one filesystem is usually atomic: other programs see the old name or the new name, never half of a rename.
- Authentication token expiry
- A credential that stops working at a fixed time, so failure is a cliff, even in the middle of a long transfer.
- Avro
- Row serialization format with zero per-field framing; the reader needs the writer's schema.
- Back-channel
- A way for the receiver to answer the sender (errors, limits, questions). Files have none.A way for the receiver to answer the sender. A file on disk has no back-channel: you cannot ask a file what it meant. A web request has one: the server can reply with an error, a limit or a question.
- Back-pressure
- A slow receiver slowing down the sender through flow control.
- Backfill
- Running a workflow for past intervals by iterating over the interval key space.1 other meaning →Going back over existing data to fill in or fix a value. Example: a new column exists, and a backfill job computes it for the last three years of rows.
- Backoff (exponential)
- Waiting longer after each failed attempt, usually doubling.
- Binding (early/late)
- Fixing a decision; early binding is before seeing the data, late binding is after.
- Boundary
- The place where one party's control ends and another's begins; no change is atomic there.1 other meaning →The place where one party's control ends and another's begins. Inside your own system you can change the writer and the reader in one deployment. At a boundary you cannot.
- Buffering
- Storing excess work inside the system; latency and memory grow without bound.Latency is how long one operation takes. Throughput is how much work finishes per second. Buffering means putting a queue or a temporary store between a fast side and a slow side, so neither one waits for the other.
- Cache line
- The 64-byte block the CPU moves between RAM and cache.Memory (RAM) is fast but small and loses its content when power is off. Storage (SSD, disk) is slower but large and permanent. Hardware never moves single bytes. It moves fixed-size blocks:
- Catalog
- The service that knows which tables exist, where they are and their definitions.A catalog is the service that knows which tables exist and where they are. A metastore is the database inside (or behind) a catalog that stores table definitions, partitions and file lists. Compare it with a library card index: it tells you where each book sits and which books exist, without opening any book.
- Catalog API
- A catalog offered as a service that engines call; it commits metadata and can grant scoped credentials.
- Change data capture (CDC)
- Turning a database's changes into a stream of records.A feed of every change (insert, update, delete) made to a database table, delivered as a stream of events.
- Checksum
- A small value computed from data, used to detect changes or corruption.
- Collation
- The rules for comparing and sorting text; different rules give different orders.
- Column-oriented
- Storing each column's values together instead of each row together. Good for queries that read a few columns, and for compression, because one column holds similar values.Row layout stores each record together:
[id, name, price], then the next record. Column layout stores allidvalues together, then allnamevalues, then allpricevalues. Column layout is good when a query needs only a few columns. It is also good for compression, because one column holds similar values. - Columnar format
- A layout storing all values of one column together (Parquet, ORC).
- Complexity budget
- A GraphQL defence that rejects queries whose estimated cost is too high.
- Connector framework
- A source-transport-sink structure that integrates each system once and manages the bookmark.
- Consumer
- A program that receives and processes records.A producer is a program that creates data and sends it somewhere. A consumer is a program that receives it and does something with it. A record (or message, or event) is one unit of data: for example, "order 4711 was placed". A broker is a middle service that holds records between producers and consumers (Kafka, RabbitMQ and Amazon SQS are brokers).
- Content negotiation
- Both parties announce what they support and settle on the intersection at run time.
- Control total
- A count or sum (rows, amount) in a manifest used to check that a batch is complete.
- Cost of change
- Dual-running time × number of counterparties.
- Cost relocation
- Costs are not removed by a design, only moved to another party, time or system.Across the platform, costs are never removed. A design that seems to remove a cost has moved it: to the writer, to the reader, to another team, to a new dependency. The useful question is always "who pays now, and can they refuse?"
- Cursor
- A consumer's remembered position in a change stream (offset, LSN or snapshot id).1 other meaning →A bookmark that says "I have read everything up to here". It can be a byte offset in a file, a row number, a timestamp or an opaque token.
- Dead-letter path
- A place where messages go after too many failed delivery attempts.
- Declarative
- Describing what result you want (SQL) and letting the callee decide how.
- Deprecation / sunset
- The planned retirement of an old interface version after a dual-running period.
- Dialect
- A vendor's variant of SQL, caused by differences in capability.
- Drift
- Unplanned change in the shape or types of incoming data.
- Dual-running
- The period in which old and new contracts both work.
- Duplicate
- If a request gets no answer, the sender sends it again (a retry). If the first one actually worked, the receiver now sees the same request twice (a duplicate).
- ELT
- Extract, Load, Transform: land raw data first, transform in the destination.
- ETL
- Extract, Transform, Load: transform before the destination receives data.
- External table
- A table registered over files you do not own or ingest.
- Federation
- One engine querying data in another system without copying it first.1 other meaning →
- FlatBuffers
- A format whose bytes can be used directly as in-memory values.
- Footer
- Metadata at the end of a file, such as a directory of offsets and statistics.
- Framing
- The method that lets a receiver find message boundaries inside a TCP byte stream.
- GraphQL
- An API style in which the caller specifies the shape of the response.
- gRPC
- An RPC framework with a definition file that generates code for both sides and supports streaming.
- Idempotency key
- Unique identifier of an intent, used to make retries safe.
- Idempotent
- Doing it twice has the same effect as doing it once.An operation is idempotent if doing it twice has the same effect as doing it once. "Set the order status to SHIPPED" is idempotent. "Add 1 to the stock counter" is not. Idempotence is the main tool for living with duplicates.
- Inference
- Reconstructing a schema from a sample of data.
- Interop hazard surface
- Agreement-level differences (encoding, decimals, nulls, time, integer width, collation) that fail silently.
- Ipc
- Inter-process communication: moving data between programs.1 other meaning →
- JDBC / ODBC
- Standard driver interfaces for SQL databases, built around a row cursor.
- Keyset pagination
- Paging by "everything after this key" instead of by count.
- Latency
- Time one operation takes from request to response.Throughput is work finished per second. Latency is how long one operation takes. Little's Law links them to the number of operations in progress: L = λ × W, where λ is the arrival rate (per second), W is the average time one operation spends in the system, and L is how many are inside the system at the same time. Example: 1,000 requests per second, each taking 20 ms (0.02 s), means 1,000 × 0.02 = 20 requests in flight at any moment. This is an identity, not a design choice.
- Length-prefixed
- A value stored as its length followed by its bytes.
- Manifest
- A small file that lists other files, with sizes, checksums and totals; it defines the set.A small file that lists other files (names, sizes, checksums). It says "this set of files is the dataset".
- MessagePack
- A compact binary encoding that resembles JSON.
- Monotonic
- Only increases; never goes backward.
- N × M / N + M
- Connections needed without a shared standard versus with one.
- N-by-M problem
- If N tools must each talk to M systems, you need N × M separate connections. If every tool and every system speaks one shared standard, you need only N + M adapters.
- Narrow waist
- A single thin interface through which everything passes.
- NDJSON
- Newline-delimited JSON: one record per line.
- Null / empty / absent
- Three different states (unknown, empty string, missing field) that formats often confuse.
- Offset
- A consumer's position in a partition (one integer).An event is a small record: "order 77 placed by user 12 at 12:03:04". A log is an append-only file or service: new events are added at the end, and old events are never changed. A topic is a named log (the word comes from systems like Apache Kafka). Every event has an offset, its position in the log (0, 1, 2, …). A reader remembers "I have read up to offset 5,000", and can go back to offset 3,000 and read again. This ability to replay is the foundation of this whole mechanism. A log keeps events for a configured time (retention), for example 7 days, then deletes the oldest ones.
- Offset pagination
- Paging by "skip N, take M"; wrong under concurrent writes and slow for large N.
- Opaque token
- A position whose meaning only the provider knows.
- ORC / Parquet
- Columnar file formats with footers and statistics.
- Parse tax
- The work the reader does turning bytes into values, on every read.
- Parsing
- Serializing means turning values in memory into bytes (to store or send). Parsing (or deserializing) is the reverse: turning bytes into values. The work of parsing is the parse tax here: a cost paid by the reader every time it reads.
- Partial success
- A batch where some items succeeded and some failed; must be reported explicitly.
- Position
- A bookmark saying how far a consumer has read.A bookmark that says "I have read everything up to here". It can be a byte offset in a file, a row number, a timestamp or an opaque token.
- Postgres wire protocol
- The PostgreSQL client-server protocol, copied by other systems to inherit its tools.
- Producer
- A program that creates and sends records.A producer is a program that creates data and sends it somewhere. A consumer is a program that receives it and does something with it. A record (or message, or event) is one unit of data: for example, "order 4711 was placed". A broker is a middle service that holds records between producers and consumers (Kafka, RabbitMQ and Amazon SQS are brokers).
- Protobuf / Thrift
- Binary formats where fields are identified by number.
- Pushdown
- Sending a filter or calculation to where the data lives.Sending the filter or the calculation to where the data lives, instead of bringing all the data to where the calculation runs. "Ask the librarian to find the three books" instead of "carry the whole library to your desk".
- Rate limit
- A cap on how many requests a caller may make per unit of time.
- Registry (schema registry)
- An external service holding schemas, referenced by a small ID in each message.
- REST
- An API style based on stateless requests and fixed response shapes.
- Retry
- If an ack does not arrive within some time, the sender gives up waiting (a timeout) and often sends again (a retry). Retrying is useful, but it can create duplicates, as you will see.
- Retry / retry storm
- Sending a request again; many retries at once can overload a slow service.
- Reverse ETL
- Pushing data from the warehouse into operational systems.
- Row-oriented
- Storing each record's fields together, record after record. Suits transactional workloads that touch whole rows; analytical scans of a few columns prefer column layout.Row layout stores each record together:
[id, name, price], then the next record. Column layout stores allidvalues together, then allnamevalues, then allpricevalues. Column layout is good when a query needs only a few columns. It is also good for compression, because one column holds similar values. - S3-compatible API
- The object-storage API that became a de facto standard.
- Schema
- The description of the shape of a record: fields, types, optionality.A description of the shape of a record: which fields (also called columns) exist, what type each has (integer, text, timestamp, ...), and which ones may be missing. Example: a shipment event has
shipment_id(text),status(text),weight(number),occurred_at(timestamp). - Self-describing
- Carrying its own schema in the file or message.A file or message that carries its own schema, so the reader needs nothing else.
- Sentinel file
- A marker file written after the data to signal completeness.
- Serialization
- Turning in-memory values into a flat sequence of bytes.Programs hold values in memory (objects, structs, lists). To send them over a network or store them in a file, you must turn them into a flat sequence of bytes. This is serialization; the reverse is deserialization (or decoding). JSON is a serialization format. So are Protocol Buffers (Protobuf), Avro and Thrift.
- Splittability
- Whether a reader can start at a random offset and find the next record boundary.
- Statelessness
- No request depends on an earlier one, so any server can answer any request.
- Table format
- A specified metadata protocol that defines a table as a set of files plus commits.Object storage (like Amazon S3) stores whole files called objects behind HTTP requests. Parquet is a file format that stores data column by column. A table format (such as Iceberg or Delta) records, in small metadata files called manifests, which data files make up a table. A snapshot is one exact version of the table, identified by a snapshot id. A catalog is the service that tells you the current snapshot of a table.
- Throughput
- Work completed per unit of time.Throughput is work finished per second. Latency is how long one operation takes. Little's Law links them to the number of operations in progress: L = λ × W, where λ is the arrival rate (per second), W is the average time one operation spends in the system, and L is how many are inside the system at the same time. Example: 1,000 requests per second, each taking 20 ms (0.02 s), means 1,000 × 0.02 = 20 requests in flight at any moment. This is an identity, not a design choice.
- Total order
- An ordering in which any two values can be compared.A total order means any two values can be compared and one comes first (numbers, dates, strings in alphabetical order). A range is "everything between A and B" in that order. An ordinary database index, the B-tree, keeps keys sorted so that "find everything between A and B" reads one contiguous stretch. A hash index answers only "is this exact value present?" in constant time.
- Unload
- The engine writes results as files to shared storage and gives the client a pointer.
- Webhook
- A push in which the producer calls a URL supplied by the consumer.
- Zero-copy
- Using bytes directly as in-memory values, with no decode step.1 other meaning →
- Zero-copy data sharing
- Sharing a catalog-mediated reference to data instead of a copy; tighter coupling than copying.