注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)家庭與辦公軟件精通LevelDB

精通LevelDB

精通LevelDB

定 價:¥79.00

作 者: 廖環(huán)宇,張仕華 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111693260 出版時間: 2021-11-01 包裝: 平裝
開本: 16開 頁數(shù): 212 字數(shù):  

內(nèi)容簡介

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

作者簡介

  廖環(huán)宇,中南大學(xué)碩士、阿里云高級算法專家與工業(yè)大腦算法團隊負責(zé)人,長期致力于人工智能算法與工業(yè)大數(shù)據(jù)技術(shù)的研究和實踐,主導(dǎo)過許多大型數(shù)據(jù)智能平臺的開發(fā)與應(yīng)用。 張仕華,貝殼找房資深軟件開發(fā)工程師,畢業(yè)于北京科技大學(xué),曾就職于360、滴滴。熱衷源碼研究與探究技術(shù)本質(zhì),合著有《Redis 5設(shè)計與源碼分析》。

圖書目錄

前言
第1章 初識LevelDB1
11 鍵-值數(shù)據(jù)庫的提出與價值1
12 LevelDB的誕生過程2
13 LevelDB的特性3
14 LevelDB的性能分析4
15 LevelDB的衍生產(chǎn)品5
151 RocksDB6
152 SSDB7
16 小結(jié)8
第2章 基本數(shù)據(jù)結(jié)構(gòu)9
21 string與Slice9
22 錯誤處理Status10
23 key比較函數(shù)接口Comparator11
24 迭代器接口13
25 系統(tǒng)參數(shù)14
251 DB參數(shù)Options14
252 讀操作參數(shù)ReadOptions16
253 寫操作參數(shù)WriteOptions16
26 小結(jié)17
第3章 LevelDB使用入門18
31 源碼簡介18
311 目錄結(jié)構(gòu)18
312 安裝與編譯19
313 引用頭文件20
32 創(chuàng)建(打開)與關(guān)閉數(shù)據(jù)庫21
33 數(shù)據(jù)的讀、寫與刪除23
34 數(shù)據(jù)批量操作24
35 迭代器與key的查詢操作26
351 前向與反向迭代循環(huán)遍歷26
352 按key的范圍進行查詢27
36 性能優(yōu)化方案28
361 啟用壓縮28
362 啟用Cache29
363 啟用FilterPolicy30
364 key的命名設(shè)計30
37 小結(jié)31
第4章 總體架構(gòu)與設(shè)計思想32
41 鍵-值存儲系統(tǒng)的基本要求32
42 Bigtable與LevelDB 33
43 主要模塊功能介紹34
44 主要操作流程分析36
441 數(shù)據(jù)庫Open流程分析36
442 數(shù)據(jù)Get流程分析39
443 數(shù)據(jù)Put與Write流程分析42
444 快照生成與讀取分析46
45 小結(jié)48
第5章 公用基礎(chǔ)類49
51 LevelDB跨平臺編程49
511 LevelDB操作系統(tǒng)可移植方案49
512 LevelDB移植到操作系統(tǒng)接口規(guī)范50
513 POSIX可移植操作系統(tǒng)接口55
514 原子指針與內(nèi)存屏障61
52 文件操作66
521 順序文件操作66
522 隨機文件操作73
523 Log文件操作77
53 Env操作環(huán)境抽象接口81
531 PosixEnv對象84
532 EnvWrapper與InMemoryEnv93
54 int數(shù)值編碼99
541 什么是編碼99
542 int定長數(shù)值編碼100
543 int變長數(shù)值編碼102
55 內(nèi)存管理104
551 Arena內(nèi)存池的基本思想105
552 Arena內(nèi)存池的定義與原理105
553 Arena內(nèi)存的分配108
554 內(nèi)存使用率統(tǒng)計114
555 非內(nèi)存池的內(nèi)存分配優(yōu)化115
56 小結(jié)116
第6章 Log模塊117
61 Log文件格式定義117
62 Log文件讀寫操作119
621 Log文件寫入119
622 Log文件讀取122
63 記錄Log文件124
64 從Log文件恢復(fù)MemTable125
65 小結(jié)126
第7章 MemTable模塊127
71 MemTable插入與查找127
711 MemTable插入128
712 MemTable查找129
72 SkipList插入與查找131
721 SkipList插入132
722 SkipList查找134
73 MemTable生成SSTable136
74 小結(jié)137
第8章 SSTable模塊139
81 SSTable文件格式139
811 SSTable的組成140
812 塊格式141
813 數(shù)據(jù)索引區(qū)域145
814 數(shù)據(jù)區(qū)域145
815 元數(shù)據(jù)索引區(qū)域145
816 元數(shù)據(jù)區(qū)域146
82 SSTable的讀寫流程148
821 生成塊148
822 讀取塊151
823 生成SSTable152
824 讀取SSTable156
83 布隆過濾器的實現(xiàn)158
831 布隆過濾器的設(shè)計160
832 布隆過濾器的使用162
84 LRU Cache的實現(xiàn)166
841 LRU Cache的設(shè)計167
842 LRU Cache的使用173
85 小結(jié)174
第9章 多版本管理與Compaction原理176
91 多版本管理機制177
911 VersionEdit機制177
912 Version機制182
913 VersionSet機制187
914 Manifest機制189
92 Compaction原理189
921 觸發(fā)時機190
922 文件選取191
923 執(zhí)行流程195
924 文件清理197
93 小結(jié)199
附錄 LevelDB的演進200

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號