Skip to content
About
Main content
Recurring principle

The algebra decides

What can be skipped, pushed down, parallelized, merged or precomputed is determined by the algebra of the function, not the layout of the data.

What it is

The general form reaches well beyond search: what can be skipped, pushed down, parallelized, merged or precomputed is determined by the algebra of the function, not the layout of the data. Block-max skipping requires a decomposable score with per-term bounds. Partial aggregation (computing sums on each shard and then adding them) requires associativity (the grouping of operations does not change the result). Predicate pushdown requires the predicate to be expressible in the remote system's dialect. Proximity scoring has none of these properties and therefore gets none of the optimizations. The same question later decides which time-series aggregates can be rolled up.

From Specialized Processing Models › Scoring

Look at the third check. It is the same algebraic property that decided incremental maintainability for views, doing completely different work. One property, two mechanisms: the algebra decides both whether you can maintain an entry and whether you can reuse it. It is the best argument for asking about the algebra first for any declared derivation, before storage, refresh schedule or indexing. It also shows why sketches and combiners (map-side partial aggregation) are the same idea in three places.

From Caching › Semantic caching

When operations have the right algebra (commutative, idempotent, associative), coordination becomes optional. The work moves from designing a protocol to reformulating the operation.

From Transactions & Concurrency Control › Commutativity

Where it appears

In 17 mechanisms. Each says what the mechanism is about, then how this principle shows up there, in its own words.

Made on the same pages most often.