预购商品
书目分类
特别推荐
全書分為3個部分:部分介紹LevelDB的背景知識,主要描述LevelDB是什麼,具有什麼樣的特性,有什麼樣的應用場景。此外,分析LevelDB的原始程式碼目錄結構,介紹其總體架構與設計思想,並對個各個子模組的功能進行簡要的描述。第二部分,按前面劃分好的軟體模組,對每一個模組進行詳細的介紹。在模組詳細介紹時,著重講清每個模組的原理及其在LevelDB中的具體作用,並有針對性的加入一些C++程式設計規範相關的內容。 通過閱讀本書,讀者不僅能學習高性能Kev/Value資料庫的實現原理,還能掌握LevelDB中幾個經典的資料結構與模組,如SSTable、LSM等,對未來的應用與開發設計提供重要的參考。
第1章 初識LevelDB1 11 鍵-值資料庫的提出與價值1 12 LevelDB的誕生過程2 13 LevelDB的特性3 14 LevelDB的性能分析4 15 LevelDB的衍生產品5 151 RocksDB6 152 SSDB7 16 小結8 第2章 基本資料結構9 21 string與Slice9 22 錯誤處理Status10 23 key比較函數介面Comparator11 24 反覆運算器介面13 25 系統參數14 251 DB參數Options14 252 讀指令引數ReadOptions16 253 寫指令引數WriteOptions16 26 小結17 第3章 LevelDB使用入門18 31 源碼簡介18 311 目錄結構18 312 安裝與編譯19 313 引用標頭檔20 32 創建(打開)與關閉資料庫21 33 資料的讀、寫與刪除23 34 資料批量操作24 35 反覆運算器與key的查詢操作26 351 前向與反向反覆運算迴圈遍歷26 352 按key的範圍進行查詢27 36 性能優化方案28 361 啟用壓縮28 362 啟用Cache29 363 啟用FilterPolicy30 364 key的命名設計30 37 小結31 第4章 總體架構與設計思想32 41 鍵-值存儲系統的基本要求32 42 Bigtable與LevelDB 33 43 主要模組功能介紹34 44 主要操作流程分析36 441 資料庫Open流程分析36 442 資料Get流程分析39 443 資料Put與Write流程分析42 444 快照生成與讀取分析46 45 小結48 第5章 公用基礎類49 51 LevelDB跨平臺程式設計49 511 LevelDB作業系統可移植方案49 512 LevelDB移植到作業系統介面規範50 513 POSIX可移植作業系統介面55 514 原子指標與記憶體屏障61 52 檔操作66 521 順序檔操作66 522 隨機檔操作73 523 Log檔操作77 53 Env操作環境抽象介面81 531 PosixEnv對象84 532 EnvWrapper與InMemoryEnv93 54 int數值編碼99 541 什麼是編碼99 542 int定長數值編碼100 543 int變長數值編碼102 55 記憶體管理104 551 Arena記憶體池的基本思想105 552 Arena記憶體池的定義與原理105 553 Arena記憶體的分配108 554 記憶體使用率統計114 555 非記憶體池的記憶體分配優化115 56 小結116 第6章 Log模組117 61 Log檔案格式定義117 62 Log檔讀寫操作119 621 Log文件寫入119 622 Log文件讀取122 63 記錄Log檔124 64 從Log檔案修復MemTable125 65 小結126 第7章MemTable模組127 71MemTable插入與查找127 711 MemTable插入128 712 MemTable查找129 72 SkipList插入與查找131 721 SkipList插入132 722 SkipList查找134 73 MemTable生成SSTable136 74 小結137 第8章 SSTable模組139 81 SSTable檔案格式139 811 SSTable的組成140 812 塊格式141 813 資料索引區域145 814 資料區域145 815 中繼資料索引區域145 816 中繼資料區域146 82 SSTable的讀寫流程148 821 生成塊148 822 讀取塊151 823 生成SSTable152 824 讀取SSTable156 83 布隆篩檢程式的實現158 831 布隆篩檢程式的設計160 832 布隆篩檢程式的使用162 84 LRU Cache的實現166 841 LRU Cache的設計167 842 LRU Cache的使用173 85 小結174 第9章 多版本管理與Compaction原理176 91 多版本管理機制177 911 VersionEdit機制177 912 Version機制182 913 VersionSet機制187 914 Manifest機制189 92 Compaction原理189 921 觸發時機190 922 檔選取191 923 執行流程195 924 檔清理197 93 小結199 附錄 LevelDB的演進200
客服公告
热门活动
订阅电子报