Per level — where it appears
Named by 2 essays across 2 fields — each of them below, with the objects they name alongside it.
The filter each run carries
A log-structured store turns every lookup for a missing key into a read of every level, and a Bloom filter on each run buys those reads back with memory. Spread five bits a key evenly across three levels and a missing key still wastes 0.279 reads. Give the small levels more bits and the large one fewer — the same memory — and it wastes 0.201. At four levels the gap is 0.382 against 0.209, because sized filters stop the waste growing with the number of levels.
The level where compression stops paying
Choosing the best coding for every level of the grid separately, rather than one for all twelve, saves 26 bits out of 47,668 — five hundredths of one per cent. The apparatus for choosing costs more than that to describe.
Named alongside it
The objects these essays reach for when they reach for this one.
Trade offBlock transferBloom filterBreak-evenCompressionControlDeferralFalse-positive rateFilteringGridIndex sizeLsm tree