Loading the code workspace…
Write a C program that implements a skip list memtable for key-value pairs.
Requirements:
RocksDB, which Facebook uses to back MyRocks and much of its storage infrastructure, and LevelDB before it both chose a skip list for exactly this memtable because it needs no rebalancing and supports lock-free concurrent reads during writes. The coin-flip leveling you implement here is why skip lists beat red-black trees for this job despite weaker worst-case guarantees.