Database / RocksDB Basics Interview Questions
What is the purpose of Levels (L0 to Ln) in RocksDB's storage hierarchy?
RocksDB's leveled compaction organizes SSTables into a numbered hierarchy, from Level 0 up to a configurable maximum level, with each level generally holding more data than the one above it.
- Level 0 holds SSTables freshly flushed from MemTables, and their key ranges can overlap each other
- Level 1 and deeper levels hold SSTables with non-overlapping key ranges within that level, kept strictly sorted
- Data gradually moves from higher, smaller levels down to lower, larger levels through repeated compaction over time
This structure bounds how many files a read might need to check, since at most one SSTable per level 1-and-below needs inspecting for a given key, keeping lookups efficient even as total data volume grows.
More Related questions...