データベースシステム入門
SQLの向こう側で何が起きているのかを、ストレージから分散トランザクションまで一つの流れとして学ぶ。
この本で目指すこと
Section titled “この本で目指すこと”データベースを「SQLを送る保存先」ではなく、複数の機構がトレードオフを取りながら協調するシステムとして理解します。1件の注文が保存され、検索され、競合を解決し、障害から復旧し、別ノードへ複製されるまでを段階的に追跡します。
第I部 — データベースを捉えるリレーショナルモデルと、SQLからストレージまでの全体像を整理します。
第II部 — ストレージとインデックスページ、バッファプール、B+木、ハッシュ、LSM-木を扱います。
第III部 — クエリ処理SQL、論理・物理実行計画、結合、コストベース最適化をつなぎます。
第IV部 — トランザクションと障害回復ACID、MVCC、ロック、WAL、チェックポイント、再実行/取り消しを理解します。
第V部 — 分散データベースレプリケーション、合意、Raft、シャーディング、分散トランザクションへ進みます。
第VI部 — アプリケーションと実運用接続、移行、監視、バックアップ、フェイルオーバーを実装判断へ結びつけます。
- Webアプリケーションを実装した経験があり、SQLの基本構文を知っている
- 実行計画、ロック、レプリカ遅延などの知識を一つの体系として整理したい
- 特定製品の操作方法だけでなく、別のDBにも応用できる原理を身につけたい
初めてDB内部を学ぶ場合は、第1章から順に進んでください。各章は「問い、メンタルモデル、具体例、内部処理、トレードオフ、観察、確認問題」の順に構成します。特定の障害や性能問題を調べる場合は、サイドバーと全文検索から該当章へ直接移動できます。