內容簡介:「為了選擇適合的工具來完成工作,我們必須了解其設計背後的概念和演算法。本書是由業界從業者為初學者撰寫的入門書籍,涵蓋了許多相關主題。」
-Michael Klishin
RabbitMQ長期貢獻者
「對於任何從事資料庫技術有關的人來說,這是一本必備的書籍,尤其是在需要做出使用哪些系統的決策時。」
-Nate McCall
Apache Cassandra貢獻者及PMC主席
在選擇、使用和維護資料庫時,了解其內部原理是必不可少的。然而,隨著當今有許多分散式資料庫和工具可供選擇,往往很難了解每個資料庫提供的功能和它們之間的差異。在這本實用指南中,Alex Petrov將引導開發人員深入了解現代資料庫和儲存引擎內部的概念。
在整本書中,您將探索從眾多書籍、論文、部落格文章及幾個開源資料庫的原始碼中所獲取的相關資料。您將發現,許多現代資料庫中,最重要的區別在於決定儲存結構和資料分散方式的子系統中。
您將深入探討以下內容:
‧儲存引擎:了解儲存分類和分類法,深入研究基於B樹(B-tree-based)和不可變的日誌(immutable log-structured)結構儲存引擎。
‧儲存建構塊:了解如何使用輔助資料結構組織資料庫檔案,如頁面快取和緩衝池,來建立高效的儲存系統。
‧分散式系統:逐步學習節點和進程如何連接並建立複雜的通訊模式。
‧資料庫叢集:探索現代資料庫常用的一致性模型,以及分散式儲存系統如何實現一致性。
目錄
章節說明:前言
【第一篇 儲存引擎】
第 01 章 簡介和概述
第 02 章 B 樹基礎
第 03 章 檔案格式
第 04 章 實施 B 樹
第 05 章 交易處理和恢復
第 06 章 B 樹變體
第 07 章 日誌結構化儲存
第一部分結論
【第二篇 分散式系統】
第 08 章 簡介和概述
第 09 章 故障檢測
第 10 章 領導者選舉
第 11 章 複製和一致性
第 12 章 反熵與傳播
第 13 章 分散式交易
第 14 章 共識
第二部分結論
附錄 A 參考文獻
索引
章節說明:前言
【第一篇 儲存引擎】
第 01 章 簡介和概述
第 02 章 B 樹基礎
第 03 章 檔案格式
第 04 章 實施 B 樹
第 05 章 交易處理和恢復
第 06 章 B 樹變體
第 07 章 日誌結構化儲存
第一部分結論
【第二篇 分散式系統】
第 08 章 簡介和概述
第 09 章 故障檢測
第 10 章 領導者選舉
第 11 章 複製和一致性
第 12 章 反熵與傳播
第 13 章 分散式交易
第 14 章 共識
第二部分結論
附錄 A 參考文獻
索引