買這商品的人也買了...
-
透視 C語言指標-深度探索記憶體管理核心技術 (Understanding and Using C Pointers)$480$379 -
C++ 標準庫-學習教本與參考工具, 2/e (書側有些許黴斑,不介意下單)$1,200$948 -
$327NoSQL 數據庫技術實戰 -
$505深入解析 Android 虛擬機 -
$588操作系統原理與應用(第4版)(Guide to Operating Systems,4th Edition) -
$336Linux 二進制分析 -
$336HTTP 抓包實戰 -
FFmpeg 從入門到精通$414$393 -
$327Wireshark 與 Metasploit 實戰指南 -
LLVM 編譯器實戰教程$474$450 -
圖形演算法|Apache Spark 與 Neo4j 實務範例 (Graph Algorithms)$580$458 -
TypeScript 程式設計 (Programming TypeScript)$580$458 -
全員敏捷|創造快速、彈性與客戶優先的組織 (Agile for Everybody)$400$316 -
$305Linux 環境下 C程序設計 -
$454虛擬化工程師運維實戰:VMware 服務器虛擬化 + Citrix 桌面 / 應用虛擬化 + Veeam 備份 + Zabbix 監控 -
$454GIS 數學方法 (原書第2版) -
$403鏈接器和加載器 -
快速學會 Python 架站技術:活用 Django 4 建構動態網站的 16堂課$780$608 -
$250軟件單元測試入門與實踐 -
Learn LLVM 17 : A beginner's guide to learning LLVM compiler tools and core libraries with C++, 2/e (Paperback)$1,800$1,710 -
無瑕的程式碼 軟體工匠篇:程式設計師必須做到的紀律、標準與倫理 (Clean Craftsmanship: Disciplines, Standards, and Ethics)$720$562 -
JMeter 性能測試與腳本開發實戰$539$512 -
軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (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
中文年末書展|繁簡參展書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 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
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
相關主題
商品描述
全書分為3篇:
1.第1篇首先會詳細講解儲存引擎的全貌,讓讀者能對儲存引擎有一個整體的思維框架,介紹儲存引擎的兩大分支:
基於b+樹的儲存引擎、基於lsm派系的儲存引擎,其次是儲存引擎部分涉及的一些資料結構、
儲存媒體等概念做一個簡短的介紹,為後面內容的深入學習做鋪墊。
2.第二篇主要介紹基於b+樹的儲存引擎,
在理論部分重點回答為什麼選擇b+樹做儲存引擎索引結構、b+樹儲存引擎解決哪些問題以及如何解決。
在實作部分選擇開源社群中比較有名的boltdb儲存引擎專案來講解其內部核心原始碼的實作細節。
3.第三篇主要介紹基於lsm派系的儲存引擎,理論部分重點介紹lsm tree中各組件的功能及作用,
並在此基礎上擴展介紹其他幾類lsm派系儲存引擎的實作思路,幫助讀者開拓視野,
實作部分分別以bitcask、moss、leveldb等開源專案的核心原始碼展開,介紹其內部實作細節。
透過閱讀本書,讀者不僅能對儲存引擎,尤其是單機的儲存引擎有一個整體的框架,
而且能對兩類儲存引擎的實現思維及背後原理有個深刻的掌握,只有深刻理解了儲存引擎的背後實現原理,
讀者不僅可以自己動手開發自己的儲存引擎,更可以很快掌握關係型數據庫或NoSql這類元件的核心原理,對未來實際應用與開發提供參考。
作者簡介
文小飛,大廠資深研發工程師、公司級講師。曾任職於騰訊等網絡公司,從事基礎架構設計、推薦系統架構設計、後端開發等工作,具備豐富的基礎架構實務經驗。對科技充滿熱情,尤其對儲存引擎、分佈式共識演算法等技術有較為深入的理解,曾撰寫「自底向上分析BoltDB源碼」系列文章,並發布「資料儲存與檢索」等網絡課程。空閒時間喜歡閱讀開源專案原始碼,學習新技術。
目錄大綱
前言
第1章 儲存引擎概述
1.1 資料儲存體系
1.1.1 OLTP、OLAP與HTAP
1.1.2 關聯式數據庫、NoSQL數據庫與NewSQL數據庫
1.1.3 內存型儲存組件與磁盤型儲存組件
1.1.4 讀多寫少組件、寫多讀少組件和讀多寫多組件
1.1.5 資料儲存與檢索
1.2 資料儲存的核心:儲存引擎
1.2.1 儲存引擎整體架構
1.2.2 儲存引擎的共通性問題
1.3 儲存引擎的分類
1.3.1 讀多寫少:基於B+樹的儲存引擎
1.3.2 寫多讀少:基於LSM派系的儲存引擎
1.4 小結
第2章 索引資料結構
2.1 基礎資料結構
2.1.1 數組
2.1.2 鍊錶
2.2 Hash類資料結構
2.2.1 Hash表
2.2.2 點圖
2.2.3 布隆過濾器
2.3 二元樹類資料結構
2.3.1 二元搜尋樹
2.3.2 紅黑樹
2.3.3 跳錶
2.4 多叉樹類資料結構
2.4.1 B樹
2.4.2 B+樹
2.4.3 其他多叉樹
2.5 小結
第3章 資料儲存媒體
3.1 內存
3.1.1 內存的基本內容
3.1.2 內存管理機制
3.1.3 虛擬內存管理機制
3.2 持久化內存
3.3 磁盤
3.3.1 磁盤的基本內容
3.3.2 磁盤管理機制
3.3.3 加速磁盤存取的方案
3.4 小結
第4章 從宏觀角度理解B+樹儲存引擎的原理
4.1 B+樹儲存引擎產生的起點
4.1.1 誕生的背景
4.1.2 設計的目標
4.2 B+樹儲存引擎方案選型
4.2.1 資料結構方案對比
4.2.2 目光轉向磁盤
4.2.3 索引維護與存儲
4.2.4 選擇B樹還是B+樹
4.3 B+樹儲存引擎方案選用結果
4.3.1 方案選型結果
4.3.2 反向論證
4.4 小結
第5章 從微觀角度理解B+樹儲存引擎的工程細節
5.1 邊界條件處理
5.1.1 B+樹在磁盤和內存中的映射
5.1.2 讀取操作的處理
5.1.3 寫入操作的處理
5.2 異常狀況處理
5.2.1 異常狀況總體分析
5.2.2 資料部分寫入的異常處理
5.3 事務
5.3.1 事務的基本概念
5.3.2 並發控制
5.4 範圍查詢與全量遍歷
5.5 小結
第6章 BoltDB核心源碼分析
6.1 BoltDB整體結構
6.1.1 BoltDB專案結構
6.1.2 BoltDB整體實作架構
6.2 page解析
6.2.1 page基本結構
6.2.2 元資料頁
6.2.3 空閒列表頁
6.2.4 分支節點頁
6.2.5 葉子節點頁
6.3 node解析
6.3.1 B+樹結構概述
6.3.2 node結構分析
6.3.3 node的增刪改查
6.3.4 node分裂
6.3.5 node合併
6.4 Bucket解析
6.4.1 Bucket結構分析
6.4.2 Bucket遍歷的Cursor核心結構分析
6.4.3 Bucket的增刪改查
6.4.4 KV資料的增刪改查
6.4.5 Bucket的分裂與合併
6.5 Tx解析
6.5.1 Tx結構分析
6.5.2 Commit()方法分析
6.5.3 Rollback()方法分析
6.6 DB解析
6.6.1 DB結構分析
6.6.2 Open()方法分析
6.6.3 Begin()方法分析
6.6.4 Update()和View()方法分析
6.6.5 Batch()方法分析
6.7 小結
第7章 深入理解LSM Tree原理
7.1 LSM Tree的發展背景
7.2 從零推導LSM Tree
7.2.1 儲存媒體的選擇
7.2.2 寫入請求的處理
7.2.3 讀取請求的處理
7.3 LSM Tree的架構演進
7.3.1 資料更新分類
7.3.2 雙組件LSM Tree結構
7.3.3 多組件LSM Tree結構
7.3.4 實際的LSM Tree結構
7.4 LSM Tree的核心問題
7.4.1 資料壓縮/合併
7.4.2 資料分區
7.4.3 讀放大、寫放大與空間放大
7.4.4 寫放大優化
7.5 小結
第8章 LSM派系儲存引擎
8.1 LSM Tree儲存引擎
8.1.1 LSM Tree工程應用
8.1.2 LSM Tree的KV分離儲存技術WiscKey
8.2 LSM Hash儲存引擎
8.2.1 LSM Hash的起源
8.2.2 Bitcask的核心原理
8.3 LSM Array儲存引擎
8.3.1 LSM Array的設計思想
8.3.2 Moss的核心原理
8.4 其他LSM儲存引擎
8.4.1 LSM儲存引擎擴展
8.4.2 訊息佇列Kafka儲存引擎
8.5 小結
第9章 LevelDB核心源碼分析
9.1 LevelDB概述
9.1.1 LevelDB整體架構
9.1.2 LevelDB專案結構
9.2 DB核心接口分析
9.2.1 DB結構
9.2.2 Open(options,dbname,dbptr)的實現
9.2.3 Put(k,v)和Delete(k)的實現
9.2.4 Get(k)的實現
9.3 MemTable的實作分析
9.3.1 MemTable結構
9.3.2 Add(k,v)和Get(k)的實現
9.3.3 SkipList結構
9.4 WAL日誌的實現分析
9.4.1 WAL日誌的格式
9.4.2 Writer的實現
9.4.3 Reader的實現
9.5 SSTable的實作分析
9.5.1 SSTable的資料格式
9.5.2 Block的寫入與讀取
9.5.3 SSTable的寫入與讀取
9.
