買這商品的人也買了...
-
透視 C語言指標-深度探索記憶體管理核心技術 (Understanding and Using C Pointers)$480$379 -
$505深入解析 Android 虛擬機 -
$336HTTP 抓包實戰 -
FFmpeg 從入門到精通$414$393 -
唯一串流大數據處理平台 - Apache Kafka 動手做$580$493 -
Kafka 技術手冊|即時資料與串流處理 (Kafka: The Definitive Guide)$580$458 -
圖形演算法|Apache Spark 與 Neo4j 實務範例 (Graph Algorithms)$580$458 -
TypeScript 程式設計 (Programming TypeScript)$580$458 -
$301乙太坊 Solidity 智慧合約開發 -
全員敏捷|創造快速、彈性與客戶優先的組織 (Agile for Everybody)$400$316 -
乾脆一次搞清楚:最完整詳細網路協定全書$690$545 -
Python 機器學習超進化:AI影像辨識跨界應用實戰 (附100分鐘影像處理入門影音教學/範例程式)$450$356 -
$450仿人機器人建模與控制 -
$305Linux 環境下 C程序設計 -
$607深度學習視頻理解 -
$458動手打造深度學習框架 -
$403鏈接器和加載器 -
PB 硬碟時代必備技法 -- 精解檔案系統技術及應用$780$616 -
$602NoSQL 數據庫實戰派:Redis + MongoDB + HBase -
去園區當 ARM 工程師 - 嵌入式 C語言全高度昇華$1,080$853 -
$505深入淺出儲存引擎 -
軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems)$650$507 -
生成式 AI x RAG x Hugging Face 提示工程打造數據採樣神技$980$774 -
JavaScript 重修就好$760$600 -
訂製自己的 Linux - Yocto 專案成為高效嵌入式大師$880$695
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書邏輯上分為兩部分。
第一部分著重講解LevelDB的基礎知識,涵蓋LevelDB的特性、基本數據結構、基本使用與操作
(讀取、寫入、刪除)、總體架構與設計思想以及公用基礎類(文件操作、數值編碼、內存管理)。
第二部分著重講解LevelDB各模塊的實現細節與具體作用,涵蓋Log模塊、
MemTable模塊、SSTable模塊的實現,以及Compaction原理與多版本管理。
同時,本部分有針對性地加入了一些與C++編程規範相關的內容。
通過閱讀本書,讀者不僅可以熟悉LevelDB的底層原理,
也可以加深對整個數據庫實現的瞭解。
作者簡介
廖環宇,中南大學碩士、阿裡雲高級算法專家與工業大腦算法團隊負責人,長期致力於人工智能算法與工業大數據技術的研究和實踐,主導過許多大型數據智能平臺的開發與應用。
張仕華,貝殼找房資深軟件開發工程師,畢業於北京科技大學,曾就職於360、滴滴。熱衷源碼研究與探究技術本質,合著有《Redis 5設計與源碼分析》。
目錄大綱
前言
第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
