作品简介

本书介绍了PostgreSQL内部的工作原理,包括数据库对象的逻辑组织与物理实现,进程与内存的架构,并依次剖析了几个重要的子系统:查询处理、外部数据包装器、并发控制、清理过程、缓冲区管理、WAL、备份及流复制。本书为DBA与系统开发者提供了一幅全景概念地图,有助于读者形成对数据库实现的整体认识,亦可作为深入学习PostgreSQL源代码的导读手册,对于理解数据库原理与PostgreSQL内部实现大有裨益。本书适合数据库开发人员及相关领域的研究人员、数据库DBA及高等院校相关专业的学生阅读。

铃木启修(Hironobu Suzuki),毕业于北海道大学信息工程研究生院,获得信息工程硕士学位,曾在多家公司担任软件开发人员和技术经理/技术主管。在数据库和系统集成领域出版了7本书。

2010年—2016年担任日本PostgreSQL用户组的主任,连续7年组织了日本PostgreSQL技术研讨会,并担任日本2013年PostgreSQL大会的委员会主席。

作品目录

  • 作者简介
  • 推荐序
  • 译者序
  • 作者序
  • 致谢
  • 读者服务
  • 第1章 数据库集簇、数据库和数据表
  • 1.1 数据库集簇的逻辑结构
  • 1.2 数据库集簇的物理结构
  • 1.3 堆表文件的内部布局
  • 1.4 读写元组的方式
  • 第2章 进程和内存架构
  • 2.1 进程架构
  • 2.2 内存架构
  • 第3章 查询处理
  • 3.1 概览
  • 3.2 单表查询的代价估计
  • 3.3 创建单表查询的计划树
  • 3.4 执行器如何工作
  • 3.5 连接
  • 3.6 创建多表查询计划树
  • 参考文献
  • 第4章 外部数据包装器
  • 4.1 概述
  • 4.2 postgres_fdw的工作原理
  • 第5章 并发控制
  • 5.1 事务标识
  • 5.2 元组结构
  • 5.3 元组的增、删、改
  • 5.4 提交日志
  • 5.5 事务快照
  • 5.6 可见性检查规则
  • 5.7 可见性检查
  • 5.8 防止丢失更新
  • 5.9 可串行化快照隔离
  • 5.10 需要的维护进程
  • 参考文献
  • 第6章 清理过程
  • 6.1 并发清理概述
  • 6.2 可见性映射
  • 6.3 冻结过程
  • 6.4 移除不必要的CLOG文件
  • 6.5 自动清理守护进程
  • 6.6 完整清理
  • 第7章 堆内元组和仅索引扫描
  • 7.1 堆内元组
  • 7.2 仅索引扫描
  • 第8章 缓冲区管理器
  • 8.1 概览
  • 8.2 缓冲区管理器的结构
  • 8.3 缓冲区管理器锁
  • 8.4 缓冲区管理器的工作原理
  • 8.5 环形缓冲区
  • 8.6 脏页刷盘
  • 第9章 WAL
  • 9.1 概述
  • 9.2 事务日志与WAL段文件
  • 9.3 WAL段文件的内部布局
  • 9.4 WAL记录的内部布局
  • 9.5 WAL记录的写入
  • 9.6 WAL写入进程
  • 9.7 PostgreSQL中的检查点进程
  • 9.8 PostgreSQL中的数据库恢复
  • 9.9 WAL段文件管理
  • 9.10 持续归档与归档日志
  • 第10章 基础备份与时间点恢复
  • 10.1 基础备份
  • 10.2 时间点恢复(PITR)的工作原理
  • 10.3 时间线与时间线历史文件
  • 10.4 时间点恢复与时间线历史文件
  • 第11章 流复制
  • 11.1 流复制的启动
  • 11.2 如何实施流复制
  • 11.3 管理多个备库
  • 11.4 备库的故障检测
  • 译者简介
展开全部