Skip to content
About
Main content

What bit-level structures forbid

What this article forbids

The entropy floor is a theorem, not a conjecture. Unlike the , this one is proved: you cannot represent H bits of information in fewer than H bits and recover it. Everything in this article is a race toward a fixed wall, and get within o(Z) of it while keeping queries.

You cannot have the maximum compression ratio and random access at the same time. The practical form is the one you meet daily. Block-based compression gives random access at block granularity, so page size is the dial between ratio (bigger pages compress better and spread the codec's fixed cost over more data) and access granularity (smaller pages waste less on a selective read). That dial is the Batch-size law in its columnar-format form, and it is why Parquet page size is a real tuning parameter and not a default that nobody touches.

You cannot cheaply update a densely packed structure. means several values share one machine word, so any update is a read-modify-write on a whole word. That is the at the smallest scale here. Concurrent updates to neighboring values also false-share the same (two threads write different variables that sit on the same 64-byte line, so the hardware makes the line bounce between cores). This is why the whole group is read-only, and why its mutation story is always "delta store plus periodic rebuild": new changes go in a small side structure, and a background job periodically merges them into a new packed version. That is merge-on-read, which is the LSM shape one more time.

Escapes and their costs

EscapeCost
Block-level compressionbuys random access at block granularity; costs ratio
Per-block adaptive representation (Roaring, , sparse)branchy code and implementation complexity
/select directorieso(n) bits and a cache line
Immutability plus rebuild (the universal escape)whatever the rebuild costs, usually nothing, because was already running