diff --git "a/articles/leveldb\346\272\220\347\240\201\345\210\206\346\236\220/leveldb\346\272\220\347\240\201\345\210\206\346\236\2203.md" "b/articles/leveldb\346\272\220\347\240\201\345\210\206\346\236\220/leveldb\346\272\220\347\240\201\345\210\206\346\236\2203.md" index 5ea92ad..8fd50da 100644 --- "a/articles/leveldb\346\272\220\347\240\201\345\210\206\346\236\220/leveldb\346\272\220\347\240\201\345\210\206\346\236\2203.md" +++ "b/articles/leveldb\346\272\220\347\240\201\345\210\206\346\236\220/leveldb\346\272\220\347\240\201\345\210\206\346\236\2203.md" @@ -8,7 +8,7 @@ Memtable是leveldb很重要的一块,leveldb的核心之一。我们肯定** ### 4.1 用途 -在Leveldb中,所有内存中的KV数据都存储在Memtable中,物理disk则存储在SSTable中。在系统运行过程中,如果Memtable中的数据占用内存到达指定值(Options.write_buffer_size),则Leveldb就自动将Memtable转换为Memtable,并自动生成新的Memtable,也就是**Copy-On-Write机制**了。 +在Leveldb中,所有内存中的KV数据都存储在Memtable中,物理disk则存储在SSTable中。在系统运行过程中,如果Memtable中的数据占用内存到达指定值(Options.write_buffer_size),则Leveldb就自动将Memtable转换为Immutable Memtable,并自动生成新的Memtable,也就是**Copy-On-Write机制**了。 Immutable Memtable则被新的线程Dump到磁盘中,Dump结束则该Immutable Memtable就可以释放了。因名知意,**Immutable Memtable是只读的**。