TOP
英國出版界指標大獎肯定!A.F. Steadman 獲年度作家,《史坎德》系列帶你踏上熱血奇幻旅程
精通LevelDB(簡體書)
滿額折

精通LevelDB(簡體書)

商品資訊

人民幣定價:79 元
定價
:NT$ 474 元
優惠價
87412
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :12 點
商品簡介
名人推薦
目次

商品簡介

全書分為3個部分:
第1部分介紹LevelDB的背景知識,主要描述LevelDB是什麼,具有什麼樣的特性,有什麼樣的應用場景。此外,分析LevelDB的源代碼目錄結構,介紹其總體架構與設計思想,並對個各個子模塊的功能進行簡要的描述。
第二部分,按前面劃分好的軟件模塊,對每一個模塊進行詳細的介紹。在模塊詳細介紹時,著重講清每個模塊的原理及其在LevelDB中的具體作用,並有針對性的加入一些C++編程規範相關的內容。
通過閱讀本書,讀者不僅能學習高性能Kev/Value數據庫的實現原理,還能掌握LevelDB中幾個經典的數據結構與模塊,如SSTable、LSM等,對未來的應用與開發設計提供重要的參考。

名人推薦

阿裡、貝殼找房專家聯合撰寫,深入LevelDB的方法與關鍵代碼層面,多注釋與講解

目次

前言
第1章 初識LevelDB1
1.1 鍵-值數據庫的提出與價值1
1.2 LevelDB的誕生過程2
1.3 LevelDB的特性3
1.4 LevelDB的性能分析4
1.5 LevelDB的衍生產品5
1.5.1 RocksDB6
1.5.2 SSDB7
1.6 小結8
第2章 基本數據結構9
2.1 string與Slice9
2.2 錯誤處理Status10
2.3 key比較函數接口Comparator11
2.4 迭代器接口13
2.5 系統參數14
2.5.1 DB參數Options14
2.5.2 讀操作參數ReadOptions16
2.5.3 寫操作參數WriteOptions16
2.6 小結17
第3章 LevelDB使用入門18
3.1 源碼簡介18
3.1.1 目錄結構18
3.1.2 安裝與編譯19
3.1.3 引用頭文件20
3.2 創建(打開)與關閉數據庫21
3.3 數據的讀、寫與刪除23
3.4 數據批量操作24
3.5 迭代器與key的查詢操作26
3.5.1 前向與反向迭代循環遍歷26
3.5.2 按key的範圍進行查詢27
3.6 性能優化方案28
3.6.1 啟用壓縮28
3.6.2 啟用Cache29
3.6.3 啟用FilterPolicy30
3.6.4 key的命名設計30
3.7 小結31
第4章 總體架構與設計思想32
4.1 鍵-值存儲系統的基本要求32
4.2 Bigtable與LevelDB 33
4.3 主要模塊功能介紹34
4.4 主要操作流程分析36
4.4.1 數據庫Open流程分析36
4.4.2 數據Get流程分析39
4.4.3 數據Put與Write流程分析42
4.4.4 快照生成與讀取分析46
4.5 小結48
第5章 公用基礎類49
5.1 LevelDB跨平臺編程49
5.1.1 LevelDB操作系統可移植方案49
5.1.2 LevelDB移植到操作系統接口規範50
5.1.3 POSIX可移植操作系統接口55
5.1.4 原子指針與內存屏障61
5.2 文件操作66
5.2.1 順序文件操作66
5.2.2 隨機文件操作73
5.2.3 Log文件操作77
5.3 Env操作環境抽象接口81
5.3.1 PosixEnv對象84
5.3.2 EnvWrapper與InMemoryEnv93
5.4 int數值編碼99
5.4.1 什麼是編碼99
5.4.2 int定長數值編碼100
5.4.3 int變長數值編碼102
5.5 內存管理104
5.5.1 Arena內存池的基本思想105
5.5.2 Arena內存池的定義與原理105
5.5.3 Arena內存的分配108
5.5.4 內存使用率統計114
5.5.5 非內存池的內存分配優化115
5.6 小結116
第6章 Log模塊117
6.1 Log文件格式定義117
6.2 Log文件讀寫操作119
6.2.1 Log文件寫入119
6.2.2 Log文件讀取122
6.3 記錄Log文件124
6.4 從Log文件恢複MemTable125
6.5 小結126
第7章 MemTable模塊127
7.1 MemTable插入與查找127
7.1.1 MemTable插入128
7.1.2 MemTable查找129
7.2 SkipList插入與查找131
7.2.1 SkipList插入132
7.2.2 SkipList查找134
7.3 MemTable生成SSTable136
7.4 小結137
第8章 SSTable模塊139
8.1 SSTable文件格式139
8.1.1 SSTable的組成140
8.1.2 塊格式141
8.1.3 數據索引區域145
8.1.4 數據區域145
8.1.5 元數據索引區域145
8.1.6 元數據區域146
8.2 SSTable的讀寫流程148
8.2.1 生成塊148
8.2.2 讀取塊151
8.2.3 生成SSTable152
8.2.4 讀取SSTable156
8.3 布隆過濾器的實現158
8.3.1 布隆過濾器的設計160
8.3.2 布隆過濾器的使用162
8.4 LRU Cache的實現166
8.4.1 LRU Cache的設計167
8.4.2 LRU Cache的使用173
8.5 小結174
第9章 多版本管理與Compaction原理176
9.1 多版本管理機制177
9.1.1 VersionEdit機制177
9.1.2 Version機制182
9.1.3 VersionSet機制187
9.1.4 Manifest機制189
9.2 Compaction原理189
9.2.1 觸發時機190
9.2.2 文件選取191
9.2.3 執行流程195
9.2.4 文件清理197
9.3 小結199
附錄 LevelDB的演進200

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區