Database Internals: A Deep Dive Into How Distributed Data Systems Work (Paperback)

Petrov, Alex

  • 出版商: O'Reilly
  • 出版日期: 2019-11-05
  • 定價: $2,280
  • 售價: 8.8$2,006
  • 語言: 英文
  • 頁數: 376
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1492040347
  • ISBN-13: 9781492040347
  • 相關分類: 資料庫
  • 相關翻譯: 數據庫系統內幕 (簡中版)
  • 立即出貨 (庫存 < 3)



When it comes to choosing, using, and maintaining a database, understanding its internals is essential. But with so many distributed databases and tools available today, it's often difficult to understand what each one offers and how they differ. With this practical guide, Alex Petrov guides developers through the concepts behind modern database and storage engine internals.

Throughout the book, you'll explore relevant material gleaned from numerous books, papers, blog posts, and the source code of several open source databases. These resources are listed at the end of parts one and two. You'll discover that the most significant distinctions among many modern databases reside in subsystems that determine how storage is organized and how data is distributed.

This book examines:

  • Storage engines: Explore storage classification and taxonomy, and dive into B-Tree-based and immutable Log Structured storage engines, with differences and use-cases for each
  • Storage building blocks: Learn how database files are organized to build efficient storage, using auxiliary data structures such as Page Cache, Buffer Pool and Write-Ahead Log
  • Distributed systems: Learn step-by-step how nodes and processes connect and build complex communication patterns
  • Database clusters: Which consistency models are commonly used by modern databases and how distributed storage systems achieve consistency


在選擇、使用和維護資料庫時,了解其內部結構是必不可少的。然而,由於現今有許多分散式資料庫和工具可供選擇,往往很難理解每個資料庫提供了什麼以及它們之間的差異。在這本實用指南中,Alex Petrov將引導開發人員深入了解現代資料庫和儲存引擎內部的概念。



- 儲存引擎:探索儲存分類和分類法,深入研究基於B-Tree和不可變Log Structured的儲存引擎,並了解每種引擎的差異和使用案例。
- 儲存建構塊:了解如何組織資料庫檔案以建立高效的儲存,使用輔助資料結構,如頁面快取、緩衝池和預寫日誌。
- 分散式系統:逐步學習節點和進程如何連接並建立複雜的通訊模式。
- 資料庫叢集:現代資料庫通常使用哪些一致性模型,以及分散式儲存系統如何實現一致性。


Alex is a data infrastructure engineer, database and storage systems enthusiast, Apache Cassandra committer and PMC member, interested in storage, distributed systems and algorithms.


Alex 是一位資料基礎架構工程師,對於資料庫和儲存系統非常熱衷,同時也是 Apache Cassandra 的貢獻者和 PMC 成員。他對於儲存、分散式系統和演算法都有濃厚的興趣。