本書詳細剖析LevelDB從使用到設計實現(xiàn)的方方面面,讀后可了解谷歌Bigtable數(shù)據(jù)庫的設計精髓,邏輯上可分為兩部分。 第一部分著重講解LevelDB的基礎知識,主要內容如下。 1)基本數(shù)據(jù)結構,這是理解后續(xù)內容的基礎,也可以加深對比較器、迭代器等常見數(shù)據(jù)結構的理解。 2)基本使用,如數(shù)據(jù)庫打開、關閉以及基本的讀寫操作。 3)總體架構與設計思想,讀后可掌握LevelDB的整體情況與設計思路。 4)公用基礎類,讀后可了解LevelDB中如何實現(xiàn)數(shù)值編碼、內存管理以及文件讀取等。 第二部分著重講解LevelDB各模塊的實現(xiàn)細節(jié),主要內容如下。 1)Log模塊的實現(xiàn)細節(jié),以及如何通過Log進行崩潰恢復,并生成一個MemTable文件。 2)MemTable模塊的實現(xiàn)細節(jié),以及MemTable超過內存閾值時如何生成一個SSTable文件。 3)SSTable模塊的實現(xiàn)細節(jié)。 4)Compaction原理與多版本管理。