天天看點

源碼5h分析質的飛躍之MemTable源碼分析質的飛躍之MemTable

源碼分析質的飛躍之MemTable

源碼版本【1.23】

代碼位置【db/memtable】【db/memtable.cc】

0.導語

在前面已經分析過很多重要的源碼,例如:跳表、切片等等,在跳表中最小元素是Node,存儲單個元素,而leveldb是一個單機的{key, value}資料庫,那麼這種kv資料如何通過Node存儲到跳表中呢?如果通過比較資料來實作查找功能?跳表上層是誰來傳遞呢?

這一節下來,讓大家對前面所有的源碼分析有個質的飛躍,因為這一節是對前面所有源碼的綜合使用。

看完之後大家會覺得簡直碉堡了的感覺~

源碼5h分析質的飛躍之MemTable源碼分析質的飛躍之MemTable

1.MemTable

使用leveldb寫入的資料,在處理時為了加快查找性能,部分資料會在記憶體中也存儲一份,該部分存儲的結構便是MemTable。