when we do memtable dump, split memtable into different files with range
Open
enhancement
- Dominant language
- C++
- Stars
- 39.4k
- Forks
- 8.2k
- PR merge metrics
- No merged PRs in 30d
Description
As we know, files in level 0 may overlap each other. when we do level 0 compaction, it may involve all files in level 0 and level 1, this will consume all disk io capacity and take a long time.
So i have a idea, when we do WriteLevel0Table, we can write memtable to different level 0 files with range. For example, the key range is [0, 1000], we can write [0, 100) to file 0 , [100, 200) to file 1 and so on .
When we do this optimization, level 0 -> 1 compaction will not invole all files, so we can decrease write amplification.
Contributor guide
Assessment
This issue has not been assessed yet.