在leveldb中,爲什麼要有immutable memtable?

目的是:爲了防止寫入kv時被阻塞。 設想,如果沒有immutable memtable,當memtable滿了之後後臺線程需要將memtable 立即flush到新建的sst中,在flush的過程中,新的KV記錄是無法寫入的,只能等待,就會造成新寫入的KV記錄被阻塞。 盜一個其他人的圖如下: 延伸:在leveldb中只有兩個memtable:memtable和immutable memtable;
相關文章
相關標籤/搜索