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