| *完成訂單後正常情形下約兩周可抵台。 *本賣場提供之資訊僅供參考,以到貨標的為正確資訊。 印行年月:202405*若逾兩年請先於私訊洽詢存貨情況,謝謝。 台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。 書名:深入淺出存儲引擎 ISBN:9787111753001 出版社:機械工業 著編譯者:文小飛 叢書名:資料庫技術叢書 頁數:364 所在地:中國大陸 *此為代購商品 書號:1638248 可大量預訂,請先連絡。 內容簡介 本書由某互聯網大廠資深工程師撰寫,帶你研讀存儲引擎的底層支撐技術、主流派系及其設計與實現精髓。作者特意採用經典計算機圖書的循序漸進方式講解,不斷拋出一個個引導你思考的問題,讓你漸入佳境,從紛繁複雜的產品和業務中抽取出本質,從容應對多種存儲與系統難題。 全書共9章,分為三部分。第一部分(第1∼3章)講解存儲引擎的全貌,涉及存儲引擎中高頻使用的數據結構、存儲介質等,為深入學習後面的內容做鋪墊。第二部分(第4∼6章)介紹基於B+樹的存儲引擎,重點介紹為什麼選擇B+樹作為存儲引擎索引結構、B+樹存儲引擎解決哪些問題以及如何解決,並以BoltDB存儲引擎項目為例來講解核心原理與實現細節。第三部分(第7∼9章)介紹基於LSM派系的存儲引擎,重點介紹LSM Tree中各組件的功能及作用,最後剖析了LevelDB項目的核心原理與實現細節。作者簡介 文小飛,大廠資深研發工程師、公司級講師。曾就職于騰訊等互聯網公司,從事基礎架構設計、推薦系統架構設計、後端開發等工作,具有豐富的基礎架構實踐經驗。對技術充滿熱情,尤其對存儲引擎、分散式共識演算法等技術有較為深入的理解,曾編寫「自底向上分析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 詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。 |