fragmented-lsm-tree · research · also FLSM, Fragmented log-structured merge tree

Fragmented LSM tree

A fragmented LSM tree organizes overlapping sorted tables within disjoint guard key ranges to reduce repeated compaction writes.

Layout: PebblesDB introduced FLSM at SOSP 2017. A guard identifies a key interval, not a single table; tables within it may overlap. Compaction partitions output for destination guards instead of repeatedly merging it into their existing tables. [1]

Boundary: the last level still rewrites data, and the penultimate level can also rewrite locally. FLSM is not a zero-compaction design. [1]

Queries: table-level Bloom filters can reject point membership, but a negative for key q does not exclude a successor greater than q. PebblesDB uses additional seek optimizations, including compaction and parallel search, with their own write and CPU costs. The project documentation distinguishes these controls. [2]

Relations

related
Log-structured merge-tree, Sorted string table, Bloom filter, LSM compaction, Read amplification, Write amplification

Limitations

  • Historical performance results depend on workload, compaction state and hardware; they are not a ranking of current database releases. [1]

Citations

  1. Raju et al. PebblesDB: Building Key-Value Stores using Fragmented Log-Structured Merge Trees. SOSP 2017, sections 3-5. DOI: 10.1145/3132747.3132765. (accessed 2026-11-08)
  2. PebblesDB authors: read and seek optimizations, tuning and post-paper changes (accessed 2026-11-08)

Further reading

  1. Hesela: Bloom filters and the cost of an absent LSM lookup (accessed 2026-11-08)
Sources & caveats
  • Source-based synthesis, not a PebblesDB execution or reproduction of its benchmarks.
  • Hesela's separate successor example uses constructed integer keys and exact membership, not an implemented Bloom filter.

JSON: /data/terms/fragmented-lsm-tree.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Fragmented LSM tree. Hesela. 2026-11-08. https://hesela.dev/terms/fragmented-lsm-tree/