monkey · research · also Optimal Navigable Key-Value Store

Monkey

Monkey is an LSM-tree tuning design that jointly allocates Bloom-filter memory and selects buffer and merge settings to balance modeled lookup and update costs.

For absent point queries, its filter allocation minimizes the sum of false-positive probabilities rather than giving every run the same bits per entry. In the continuous model, active filters give smaller runs more bits per entry; with scarce memory, some larger runs receive no filter. [1]

Scope: this is a SIGMOD 2017 research design implemented over LevelDB, not a claim about current RocksDB defaults. Its main experiments disabled the block cache; Appendix F separately studies caching. [1]

Hesela derives and tests activation thresholds for a fixed three-run illustration. These are model results, not database latency measurements. [2]

Relations

related
Bloom filter, Log-structured merge-tree, Leveled compaction, Tiered compaction, Read amplification

Citations

  1. Dayan, Athanassoulis and Idreos. Monkey: Optimal Navigable Key-Value Store. SIGMOD 2017, 79-94. DOI: 10.1145/3035918.3064054. Sections 4.1, 5 and Appendix F. (accessed 2026-11-10)
  2. Hesela: when a run starts receiving filter memory. (accessed 2026-11-10)
Sources & caveats
  • Primary-source synthesis and independently checked continuous-model calculation; no engine execution.

JSON: /data/terms/monkey.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Monkey. Hesela. 2026-11-10. https://hesela.dev/terms/monkey/