詳説 データベース(ショウセツデータベース)
ストレージエンジンと分散データシステムの仕組み
プログラミング- 著者:
- Alex Petrov/小林隆浩/成田昇司(アレックス ペトロ/コバヤシ タカヒロ/ナリタ ショウジ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2021年07月06日頃
- ISBN:
- 9784873119540
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
データベースとストレージエンジン内部のコンセプトについて開発者に向けて解説!
データベースを選び、使用し、保守する際には、データベースの内部を理解することが必要ですが、多くの分散型データベースやツールがあるため、それぞれが何を提供しており、どう違うのかを理解することは困難です。本書は最新のデータベースとストレージエンジン内部のコンセプトについて開発者に向けて解説する書籍です。データベース内部の一般ユーザには見えないレイヤについて深く解説。データベースの内部について深く知ることで、データベース選び、使用、保守に役立ちます。
技書の森解説
SQL を書く側ではなく、データベースを作る側の視点で内部構造を解説する本です。原著は Alex Petrov の『 Database Internals 』で、ストレージエンジンのデータ構造 (B-Tree とその変種、 LSM-Tree) から、分散システムにおけるレプリケーション・合意アルゴリズム・障害検知まで、データベースの「中身」を二部構成で体系的に扱います。
前半のストレージエンジン編は、ディスク上のページ管理・ノード分割・ WAL によるリカバリといった仕組みを、擬似コードと図を交えて追っていきます。後半の分散システム編では、 Raft や Paxos などの合意プロトコル、リーダー選出、反エントロピー修復といったトピックを整理しています。 PostgreSQL や MySQL を使っているだけでは見えない、その下で動いているエンジンの設計判断を理解するための一冊です。
読者にはコンピュータサイエンスの基礎 (データ構造、 OS のメモリ管理、ネットワークの基礎) が前提として求められ、学部の教科書的な厳密さがあるぶん読み通すには労力がかかります。しかし、本書を通過すると「なぜこのデータベースはこのワークロードに強いのか」を構造から説明できるようになり、技術選定やパフォーマンスチューニングの精度が一段変わります。