メインページ

提供: PostgreSQL Internals
移動: 案内検索

本コンテンツは、2014年1月30~31日に筑波大学で開講された「情報システム特別講義D」における講義「Inside PostgreSQL Kernel」の内容を再構成、加筆・修正したものです。

  1. はじめに
    1. 本コンテンツについて
    2. 本コンテンツへのフィードバックについて
  2. アーキテクチャ概要
    1. PostgreSQLの構成要素
    2. PostgreSQLの基本的なアーキテクチャ
    3. SQL文の処理される流れ
  3. トランザクション管理
    1. トランザクション処理におけるACID特性
    2. 各レコードの可視性の管理
    3. Atomicity(原子性)の実装
    4. Consistency(一貫性)の実装
    5. Isolation(分離性)の実装
    6. トランザクション分離レベルの定義
    7. Durability(永続性)の実装
    8. チェックポイント
  4. メタデータ管理
    1. pg_controlファイル
    2. OID/XID/TID
    3. システムカタログ
  5. MVCCとストレージ構造
    1. テーブルファイル
    2. テーブルのページレイアウト
    3. データ型とデータサイズ
    4. インデックス(B-Tree)ファイル
    5. B-Tree(リーフ)のページレイアウト
    6. VACUUM処理
    7. インデックスとタプルの可視性
    8. TOASTテーブル
    9. Freespace Map(FSM)
    10. FSMの物理レイアウト
    11. Visibility Map(VM)
    12. VMの構造
  6. メモリ管理
    1. 共有メモリとローカルヒープ
    2. Memory Context
    3. 共有バッファと管理アルゴリズム
  7. ロック制御
    1. ロック
    2. 2-Phase Locking(2PL)
    3. デッドロックの検証と解消
    4. SpinLockとLWLock
  8. パース、リライト、オプティマイズ
    1. パース、リライト
    2. オプティマイザ統計情報
    3. よく利用されるオプティマイザ統計情報
    4. 実行コストの計算
    5. Seq scan/Index scan実行コスト例
    6. GEQO(遺伝的問い合わせ最適化)
    7. 参考資料
  9. エグゼキュータ
    1. エグゼキュータの役割
    2. 結合処理
    3. Nested Loop Join
    4. Merge Join
    5. Hash Join
    6. インデックスの種類
    7. インデックスのアクセスメソッド
    8. B-Treeインデックスのタプル取得呼び出し
    9. B-Treeインデックスのアクセスメソッド
    10. B-Treeインデックスの構造
    11. B-Treeデモ(1/2)
    12. B-Treeデモ(2/2)
    13. GINインデックス
  10. PostgreSQLの拡張
    1. PostgreSQLを拡張する方法
    2. Hookによる拡張
    3. GiSTによるインデックスの拡張
  11. 参考文献