Database Internals

A Deep Dive Into How Distributed Data Systems Work

出版社 O'Reilly Media
発売日 2019/10/22
ページ数 376
ISBN-13 9781492040347
お届け日 通常 03月17日~03月24日

通常価格 ¥6,599

税込 配送料は購入手続き時に計算されます。

出版社より

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

DeepL 粗訳

データベースの選択、使用、保守に関しては、その内部を理解することが不可欠です。しかし、今日では非常に多くの分散型データベースやツールが利用可能なため、それぞれが何を提供し、どのように異なるのかを理解することはしばしば困難です。

この実用的なガイドでは、Alex Petrov 氏が、最新のデータベースおよびストレージ エンジンの内部の概念について開発者をガイドしています。これらのリソースは、第 1 部と第 2 部の最後にリストアップされています。多くの最新のデータベースの中で最も重要な違いは、ストレージがどのように構成されているか、データがどのように分散されているかを決定するサブシステムにあることがわかります。

この本が説明すること:

  • ストレージ エンジン ストレージの分類と分類法を調べ、B-Tree ベースのストレージ エンジンと不変 Log Structured ストレージ エンジンに飛び込み、それぞれの違いと使用例を説明します。
  • ストレージビルディングブロック ページキャッシュ、バッファプール、ライトアヘッドログなどの補助データ構造を使用して、効率的なストレージを構築するためのデータベースファイルの構成方法を学習します。
  • 分散システム ノードとプロセスがどのように接続し、複雑な通信パターンを構築するかを段階的に学びます。
  • データベースクラスター 最新のデータベースで一般的に使用されている一貫性モデルと、分散ストレージ システムがどのようにして一貫性を達成するか