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

精通LevelDB

精通LevelDB

定 價(jià):¥79.00

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

ISBN: 9787111693260 出版時(shí)間: 2021-11-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 212 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

前言
第1章 初識(shí)LevelDB1
11 鍵-值數(shù)據(jù)庫(kù)的提出與價(jià)值1
12 LevelDB的誕生過(guò)程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 錯(cuò)誤處理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 源碼簡(jiǎn)介18
311 目錄結(jié)構(gòu)18
312 安裝與編譯19
313 引用頭文件20
32 創(chuàng)建(打開)與關(guān)閉數(shù)據(jù)庫(kù)21
33 數(shù)據(jù)的讀、寫與刪除23
34 數(shù)據(jù)批量操作24
35 迭代器與key的查詢操作26
351 前向與反向迭代循環(huán)遍歷26
352 按key的范圍進(jìn)行查詢27
36 性能優(yōu)化方案28
361 啟用壓縮28
362 啟用Cache29
363 啟用FilterPolicy30
364 key的命名設(shè)計(jì)30
37 小結(jié)31
第4章 總體架構(gòu)與設(shè)計(jì)思想32
41 鍵-值存儲(chǔ)系統(tǒng)的基本要求32
42 Bigtable與LevelDB 33
43 主要模塊功能介紹34
44 主要操作流程分析36
441 數(shù)據(jù)庫(kù)Open流程分析36
442 數(shù)據(jù)Get流程分析39
443 數(shù)據(jù)Put與Write流程分析42
444 快照生成與讀取分析46
45 小結(jié)48
第5章 公用基礎(chǔ)類49
51 LevelDB跨平臺(tái)編程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 隨機(jī)文件操作73
523 Log文件操作77
53 Env操作環(huán)境抽象接口81
531 PosixEnv對(duì)象84
532 EnvWrapper與InMemoryEnv93
54 int數(shù)值編碼99
541 什么是編碼99
542 int定長(zhǎng)數(shù)值編碼100
543 int變長(zhǎng)數(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)計(jì)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 布隆過(guò)濾器的實(shí)現(xiàn)158
831 布隆過(guò)濾器的設(shè)計(jì)160
832 布隆過(guò)濾器的使用162
84 LRU Cache的實(shí)現(xiàn)166
841 LRU Cache的設(shè)計(jì)167
842 LRU Cache的使用173
85 小結(jié)174
第9章 多版本管理與Compaction原理176
91 多版本管理機(jī)制177
911 VersionEdit機(jī)制177
912 Version機(jī)制182
913 VersionSet機(jī)制187
914 Manifest機(jī)制189
92 Compaction原理189
921 觸發(fā)時(shí)機(jī)190
922 文件選取191
923 執(zhí)行流程195
924 文件清理197
93 小結(jié)199
附錄 LevelDB的演進(jìn)200

本目錄推薦

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