Skip to content
About
Main content

Glossary

92 terms, in the sense this mechanism uses them. The platform glossary has every term across all mechanisms.

Accumulating snapshot
A fact table with one row per process instance, updated as milestones occur; holds milestone dates and lags.
Activity schema
One table, one grain: one row per activity per entity, analyzed with temporal self-joins.
Additive measure
A measure that can be summed across every dimension (sale amount).
Aggregate navigation
Choosing between a base table and a summary so that both give the same answer; a summary must be drillable to its base.
Aggregation
Replacing many observations with fewer numbers (a mean, a percentile). Lossy and irreversible.Combining many rows into fewer: SUM, COUNT, AVG. Aggregation loses detail. You cannot get the individual rows back from the total.
Allocation policy
An agreed rule for sharing one amount among several members; the weight column of a bridge table.
Anchor modeling
Sixth-normal-form modeling with one table per attribute, making every schema change additive.
Append-only
A file or log where data is only added at the end.A store where you only add new rows and never change old ones in place. Most analytical stores work this way, because rewriting data in place is expensive on large files.
As-is
Reporting a fact using today's value of a dimension attribute.
As-was
Reporting a fact using the dimension value that was true when the fact happened.
Attribute
A descriptive column of a dimension (name, region).
BCNF
Boyce-Codd normal form: every determinant is a candidate key.
Big-O notation
O(files) means "the work grows in proportion to the number of files." O(1) means "the work is the same however many files exist."
Blocking
The cheap step in fuzzy matching that decides which pairs will be compared.1 other meaning →
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.
Bridge table
A table that makes a many-to-many relationship explicit, with optional weights.
Broadcast join
A join that copies the small side to every executor so the large side does not move.
Bus matrix
A grid of business processes against dimensions showing which questions are answerable.
Cardinality
How many rows on one side match one row on the other (1:1, 1:M, M:M).2 other meanings →How many rows on one side match one row on the other. One-to-many (1:M): one customer has many orders. Many-to-many (M:M): one order is credited to several sales reps, and each rep has many orders.
Chasm trap
Joining two independent one-to-many branches from a shared dimension, producing a meaningless cartesian product.
Closure table
A hierarchy encoding with one row per ancestor-descendant pair.
Collector
A background job that frees or reorganizes old versions of data.1 other meaning →
Column
One named field of a table.A table has rows (one record each) and columns (one named field each). A primary key is a column (or set of columns) that identifies one row. A foreign key (FK) is a column that holds the primary key of a row in another table. A join matches rows of two tables by key. Example: order_lines.product_id is a foreign key to products.product_id.
Column store (columnar)
A row store keeps each record's fields together on disk. A column store keeps each column's values together. A column store reads only the columns a query names (column pruning). Because one column holds similar values, it also compresses very well.
Compression terms used here
Dictionary encoding replaces each repeated value (like "Germany") by a small integer code and stores the list of values once. Run-length encoding (RLE) replaces "A A A A A" by "A × 5". Together they make a column with few distinct values almost free to store.
Conformed dimension
A dimension shared with one meaning across fact tables.
Conserved costs
One idea from earlier across the platform: when a design seems to remove a cost, it has usually moved it to another place or another person. We call this cost conservation. We will meet it again and again here, with people as the destination.
Contract (data)
An agreement about meaning, owner, consumers, freshness and change process for a data product.
Coordination cost
The cost of getting parties to agree; grows with the number of parties, not with data volume.
Cost conservation
The principle that costs move to another place or person instead of disappearing.
Data Vault
A modeling style with hubs, links and satellites, designed for many contradictory sources.
Degenerate dimension
An identifier at fact grain with no attributes of its own, such as an order number.
Denormalization
Storing a fact in more than one place, often by pre-joining.
Deterministic matching
Entity resolution by rules and transitive closure.
Dictionary encoding
Replacing each value by a small integer index into a table of distinct values.
Dimension
A table of descriptive attributes of things (customer, product, date).In analysis, tables are often split into two kinds. A fact table records events: one row per sale, per click, per shipment. Its numbers are called measures (amount, quantity). A dimension table records descriptions of things: customers, products, dates, stores. Its columns are attributes (name, region, category). People filter and group by dimension attributes: "revenue by region for category = Tents".
Early binding
Checking the format when data is written, so errors appear in the producer.Binding means fixing the structure and meaning of data. Early binding: decide at load time ("this column is the customer's region"). Late binding: store raw facts and decide at read time. Early binding makes reads simple and changes expensive. Late binding makes changes cheap and reads complex.
Entity resolution
Deciding that several records describe the same real-world entity when no shared key exists.
Event sourcing
Keeping the sequence of state changes as the record; current state is a fold over events.
Fact
In dimensional modeling, a record of an event (a sale, a click) with numeric measures. Fact tables hold events; dimension tables describe the things involved, which people filter and group by.In analysis, tables are often split into two kinds. A fact table records events: one row per sale, per click, per shipment. Its numbers are called measures (amount, quantity). A dimension table records descriptions of things: customers, products, dates, stores. Its columns are attributes (name, region, category). People filter and group by dimension attributes: "revenue by region for category = Tents".
Fact table
A table of events with measures.
Factless fact
A fact table with no measure, recording occurrence or eligibility.
Fan trap
Summing a measure after joining to a table that has several rows per measure row.
Federated / mesh
Each domain owns and publishes its own data, with no central model.
Fold
Applying events in order to produce a state.
Foreign key
Constraint that every value in a column exists in a column of another table.Rules a database can enforce. A primary key says each row has a unique, non-null identifier. A unique constraint says no two rows share a value. A foreign key says a value must exist in another table (for example every orders.customer_id must exist in customers). A check constraint says a row must satisfy a predicate.
Functional dependency
One column's value determines another's.
Grain
What exactly one row is.
Hub
A Data Vault table holding business keys only.
Inferred member
A synthetic dimension value such as "Unknown" given to a fact row with no match, so the defect is counted.
Joins at scale
How engines keep joins of a large fact table to small tables cheap: broadcasting the small table to every machine, and using its keys to skip files of the large table before reading them.A broadcast join copies a small table to every machine, so the big table never has to move. A runtime filter or dynamic partition pruning uses the matching keys found in the small table to skip files of the big table before reading them. Because of these, joining a big fact table to small dimension tables is cheap in modern engines.
Junk dimension
A small dimension of the observed combinations of several low-cardinality flags.
Key
A column, or set of columns, that identifies a row. A primary key identifies a row in its own table; a foreign key holds the primary key of a row in another table, which is what joins match on.2 other meanings →A table has rows (one record each) and columns (one named field each). A primary key is a column (or set of columns) that identifies one row. A foreign key (FK) is a column that holds the primary key of a row in another table. A join matches rows of two tables by key. Example: order_lines.product_id is a foreign key to products.product_id.
Knot
An anchor-modeling table for a shared small enumeration.
Late binding
Checking the format only when data is read, so errors appear in the consumer, far from the cause.Binding means fixing the structure and meaning of data. Early binding: decide at load time ("this column is the customer's region"). Late binding: store raw facts and decide at read time. Early binding makes reads simple and changes expensive. Late binding makes changes cheap and reads complex.
Late binding / early binding
Fixing structure and meaning at read time / at load time.
Late-arriving fact / dimension change
Data that arrives after its event time; it must join or re-key against an older version.
Link
A Data Vault table holding a relationship.
Materialized view
A stored query result that the system refreshes, with its admission declared.A query result that is saved as a table and kept up to date, instead of being recomputed each time it is read.
Measure
A numeric column of a fact (amount, quantity).
Medallion layering
Raw, clean and business layers with published guarantees at each boundary.
Mini-dimension (Type 4)
A small dimension holding fast-changing attributes, referenced directly from the fact.
Natural key
A natural key (or business key) is an identifier from the real world or the source system: an email, an order number, a VAT number. A surrogate key is a meaningless number that the warehouse invents, such as 10482.
Nested set
A hierarchy encoding with left/right numbers.
Non-additive measure
A measure that cannot be summed (ratio, percentage, unit price).
Normalization
Splitting tables so each fact is stored once.1 other meaning →
OBT (One Big Table)
A pre-joined wide table at fact grain.
Oracle (here)
A machine check that tells you a layer is wrong.
Path enumeration
A hierarchy encoding storing the path of ancestors as a string.
Periodic snapshot
One row per entity per period, with semi-additive measures.
Presentation layer
Stars or wide marts built on top of a Vault for readers.
Reference data
Small shared lists such as currencies and countries.
Replay point
A stored state from which later processing can be recomputed.
Retraction
Removing the effect of an earlier input, expressed as a −1 change.
Role-playing dimension
One dimension used in several roles, such as order date and ship date.
Row
A table has rows (one record each, such as one scan event) and columns (one attribute each, such as weight_g). A table with n columns has n values in each row.
Row store
A row store keeps each record's fields together on disk. A column store keeps each column's values together. A column store reads only the columns a query names (column pruning). Because one column holds similar values, it also compresses very well.
Satellite
A Data Vault table of descriptive attributes with history.
SCD (slowly changing dimension)
A dimension whose attributes change over time; handled by Types 1, 2, 3, 4 and 6.
Semantic layer
A central definition of metrics and join paths, enforced by a query compiler.
Semi-additive measure
Additive across some dimensions but not time (balance, stock).
Snapshot
A saved state that shortens replay.1 other meaning →
Snowflake schema
A star whose dimensions are themselves normalized.
Star schema
A fact table surrounded by dimension tables.A big central fact table (orders) with foreign keys pointing to many small dimension tables (customers, stores, ...). A foreign key (FK) says that every value in a column exists in a column of another table. A unique constraint says that no value repeats.
Stock / flow
A persisting quantity measured at a moment / an amount that happens during a period.
Surrogate key
A meaningless warehouse-assigned key that identifies a row (a version).A natural key (or business key) is an identifier from the real world or the source system: an email, an order number, a VAT number. A surrogate key is a meaningless number that the warehouse invents, such as 10482.
Table
Rows of records with named columns. Keys identify rows, and foreign keys link a row to a row in another table.A table has rows (one record each) and columns (one named field each). A primary key is a column (or set of columns) that identifies one row. A foreign key (FK) is a column that holds the primary key of a row in another table. A join matches rows of two tables by key. Example: order_lines.product_id is a foreign key to products.product_id.
Table elimination
An optimizer dropping joins to tables whose columns are not used and that cannot change row counts.
Transaction fact
One row per event with additive measures.
Type 2 dimension
An SCD that adds a new row for each change.
Update anomaly
A bug caused by changing only some of several stored copies of a fact.
Weighting factor
A per-member share in a bridge table, summing to 1 per group.