leveldb中为什么L 0层中每个sst文件中key的范围都是有重叠的?
在leveldb中,level 0层中的sst文件是由immutable memtable通过后台线程flush得到的,但是由于immutable memtable中的key可能是由重复的,因此在leveldb中将sst文件中key的范围有重叠的所有sst文件都放在了level 0层中,而其他level层中sst文件中的key不会有重复的。
下面的图使用了其他作者的图,如下:
这样在查询的时候,将读放大的倍数都放在了level 0层中。