[改訂 3 版]内部構造から学ぶ PostgreSQL-設計・運用計画の鉄則

カイテイサンパンナイブコウゾウカラマナブポストグレエスキューエルセッケイウンヨウケイカクノテッソク

[改訂 3 版]内部構造から学ぶ PostgreSQL-設計・運用計画の鉄則の表紙
アプリケーション
著者:
上原 一樹 / 勝俣 智成 / 佐伯 昌樹 / 原田 登志(ウエハラ カズキ / カツマタ トモナリ / サエキ マサキ / ハラダ トシ)
出版社:
技術評論社
出版日:
2022年11月26日
ISBN:
9784297132064
在庫:
在庫あり
0
中級者向け
SQLアプリケーションプログラミングPostgreSQLデータベースデータベース管理システム設計パフォーマンスチューニングデータベース運用リレーショナルデータベースデータベースエンジニアリング技術書

なぜ注目されているか

言及数
387位
総合545位 ↑ 6 ランクアップ 言及 8 件・うち記事 7 件を掲載
出版前出版日03520222023202420252026

書籍紹介

本書では「PostgreSQL を学習、もしくは利用したことがある人」「今後、本格的に PostgreSQL の運用・管理や技術力の向上を図りたいと考えている人」を主な対象読者とし、現場で培われてきた PostgreSQL 設計・運用計画の鉄則を徹底解説! PostgreSQL のコアな技術力を持つ専門家の視点から、システム構築や運用時に重要な要素を、PostgreSQL の内部構造と照らし合わせる形で解説します。内部構造を知っているからこそわかる運用ノウハウやチューニング方法が満載です。本書は PostgreSQL 14 をベースに解説しています。

技書の森解説

『内部構造から学ぶ PostgreSQL 改訂 3 版』 (上原一樹、勝俣智成、佐伯昌樹、原田登志 著、技術評論社、2022 年 11 月刊) は、PostgreSQL のシステム構築と運用で重要になる要素を、内部構造と照らし合わせながら解説する設計と運用の解説書です。版元の登録名は『[改訂 3 版]内部構造から学ぶ PostgreSQL―設計・運用計画の鉄則』、叢書は Software Design plus で、解説の土台は PostgreSQL 14 です。版元は主な対象読者として「PostgreSQL を学習、もしくは利用したことがある人」と「今後、本格的に PostgreSQL の運用・管理や技術力の向上を図りたいと考えている人」を挙げ、勧めたい読者にシステム設計をする技術者や開発者、運用計画を作成する管理者を挙げています。

基本、設計と計画、運用、チューニングの 4 部 18 章と付録

構成は Part1 の基本編、Part2 の設計 / 計画編、Part3 の運用編、Part4 のチューニング編に第 1 章から第 18 章までが配され、Appendix で PostgreSQL のバージョンアップを扱います。基本編では PostgreSQL の歴史やライセンスから始まり、プロセス構成とメモリ管理、設定ファイル、問い合わせの実行やトランザクション、ロック、同時実行制御までを押さえます。設計 / 計画編はテーブル設計、物理設計、ロール設計、バックアップ計画、監視計画、サーバー設定の 6 章で、物理設計の章には WAL ファイルとアーカイブファイル、HOT と FILLFACTOR、性能を踏まえたインデックス定義といった節が並びます。運用編は高可用化と負荷分散、論理レプリケーション、オンライン物理バックアップ、死活監視と正常動作の監視、テーブルメンテナンス、インデックスメンテナンスの 6 章です。チューニング編は実行計画の取得と解析の章と、work_mem やチェックポイント間隔のチューニング、カバリングインデックスの利用など 11 の事例を収めたパフォーマンスチューニングの章からなり、Appendix ではメジャーバージョンアップの手順を、ダンプ / リストア、pg_upgrade コマンド、論理レプリケーションの 3 つのデータ移行方式に分けて扱います。

追記型の更新とバキューム、WAL が運用を決める理由

PostgreSQL の運用で内部構造の理解が効いてくる代表がバキュームです。PostgreSQL は行を更新するとき、元の行をその場で書き換えるのではなく新しい版の行を追加し、古い版はどのトランザクションからも見えなくなるまで残します。この多版同時実行制御 (MVCC) によって読み取りが書き込みを待たずに済み、トランザクション分離レベル に応じた一貫した読み取りが成り立ちます。その代わりに不要になった古い版がテーブルに溜まり、放置するとテーブルや索引が肥大化して性能が落ちるため、領域を再利用できる状態に戻すバキュームと、それを自動で走らせる自動バキュームの調整が運用の論点になります。新しい版を同じページに置いて索引の更新を省く HOT が、ページに空きを残す FILLFACTOR の設定に左右されるのも、この追記型の仕組みから来ています。

もう一つの軸が WAL (先行書き込みログ) です。変更はデータファイルより先に WAL へ記録され、障害の後はこれを再生して整合した状態へ戻します。アーカイブした WAL をベースバックアップに重ねれば任意の時点まで戻す PITR ができ、同じ WAL をスタンバイへ送り続ければストリーミングレプリケーションになります。バックアップ計画と高可用化の設計が同じ土台の上にあると分かっていれば、復旧の目標時間とスタンバイの構成を別々に決めて矛盾させる事態を避けやすくなります。実行計画についても同様で、プランナはテーブルの統計情報からコストを見積もり、表を順に読むか 索引 を使うかを選ぶため、統計情報が実データとずれると遅い計画を選んでしまいます。

PostgreSQL 14 を土台にした本を読む時点の注意

PostgreSQL 公式のサポート方針の表では、14 の最初のリリースは 2021 年 9 月 30 日、最終リリースの予定は 2026 年 11 月 12 日とされており、2026 年 10 月時点の同じ表には 18 までの版が載っています。内部構造の考え方そのものは版をまたいで役立ちますが、設定パラメーターや監視用の機能の細部は、手元の版の公式ドキュメントとリリースノートで確かめながら読むのが確実です。また、第 1 章は「PostgreSQL“超”入門」と題した導入ですが、SQL の書き方を一から教える章は目次にありません。SQL やデータモデリングから学び直したい場合は、データベースの技術書の選び方 で入口の本を先に選んでおくと順序よく進めます。

PostgreSQL を本番で預かる立場になり、バックアップ方式やレプリケーションの構成、バキュームやパラメーターの決め方を、設定例の写しではなく理由とともに判断したい人にとって、内部構造と運用計画を 1 冊でつないだ本書は、設計の検討や障害対応の場で根拠を示すための足場になります。

言及した記事 (7 件)

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: