/ The Arena
Prove your engineering skills.
GLOBAL+50 XP
Build an LSM-Tree Storage Engine with MemTable, SSTables & Bloom Filters
Landmark Capstone Challenge: LSM-Tree Storage Engine ⚔️
In this landmark capstone challenge, you will implement a complete Log-Structured Merge-Tree (LSM-Tree) Storage Engine featuring an active MemTable, immutable SSTables, and Bloom Filter lookups.
Requirements:
- Active MemTable & Sequential Flush:
- Store incoming
putanddeleteoperations in memory. - When
memTable.size >= memTableThreshold, flush entries into an immutableSSTable, sorted lexicographically by key.
- Store incoming
- Bloom Filter Optimization:
- Generate a Bloom Filter for each flushed SSTable.
- Before scanning an SSTable, query its Bloom Filter to skip disk reads for non-existent keys.
- Multi-SSTable Read Precedence & Tombstones:
- Query in order: Active MemTable SSTables (newest to oldest).
- Correctly interpret
nulltombstone records as deleted keys.
Join The Arena
Create an account to submit your implementation, test against our containerized CI suite, and climb the global leaderboard.
Create AccountALREADY HAVE AN ACCOUNT? LOG IN