PostgreSQL技术内幕:事务处理深度探索

豆瓣
PostgreSQL技术内幕:事务处理深度探索

登录后可管理标记收藏。

ISBN: 9787121415616
作者: 张树杰
发行时间: 2021 -7
价格: 99
页数: 364

/ 10

1 个评分

评分人数不足
借阅或购买

张树杰   

简介

事务是关系型数据库实现的核心内容,它具有原子性、一致性、隔离性和持久性等特点,是数据库实现并发控制和故障恢复的基础。
《PostgreSQL技术内幕:事务处理深度探索》首先分析了PostgreSQL数据库事务的实现机制,包括事务的基本概念、两阶段锁的原理及实现方法、多版本并发控制的原理及实现方法、故障恢复的实现方法等,然后通过介绍物理复制、逻辑复制、Zheap引擎的原理及实现、SSI的实现、两阶段提交的原理及实现,使读者获得了对事务更深入的理解,从而使读者既能了解事务的原理,也能清楚事务的实现细节。
《PostgreSQL技术内幕:事务处理深度探索》适合数据库内核开发及相关领域的研究人员、数据库DBA、高等院校相关专业的本科生或者研究生阅读。

目录

第1章 事务概述 1
1.1 事务的作用 1
1.2 事务的性质 2
1.3 事务的隔离级别 4
1.4 PostgreSQL中的事务 7
1.5 事务处理流程 20
1.5.1 事务ID 20
1.5.2 pg_subtrans日志 25
1.5.3 启动事务 26
1.5.4 事务结束 28
1.6 异步提交 33
1.7 本章小结 35
第2章 锁 36
2.1 并发的异常现象 36
2.2 调度 39
2.3 并发控制 41
2.4 两阶段锁 42
2.5 PostgreSQL中的锁 43
2.5.1 自旋锁 45
2.5.2 轻量锁 50
2.5.3 常规锁 56
2.6 常规锁的内存结构 58
2.7 常规锁的加锁 61
2.8 行锁 73
2.9 死锁检测 84
2.10 本章小结 92
第3章 MVCC 93
3.1 元组上的版本信息 94
3.2 快照 100
3.3 获得快照 103
3.4 可见性判断 109
3.5 本章小结 113
第4章 故障恢复 114
4.1 故障的分类 114
4.2 事务日志 115
4.3 日志文件 116
4.4 查看日志内容 117
4.5 日志格式 120
4.6 XLog初始化 124
4.7 日志的注册 127
4.8 日志的组成 131
4.9 日志的写入 137
4.10 控制文件 140
4.11 Full Page Write 140
4.12 检查点 142
4.12.1 检查点的触发 144
4.12.2 BgWriter刷入脏页 148
4.12.3 回写机制 152
4.12.4 Sync请求 154
4.12.5 检查点的创建 155
4.12.6 检查点中脏页的刷入 157
4.12.7 检查点中的XLog清理 159
4.13 日志归档 162
4.14 基础备份 168
4.15 PITR 172
4.16 故障恢复 177
4.17 本章小结 186
第5章 物理复制 187
5.1 环境搭建 187
5.2 物理复制 189
5.3 同步复制 195
5.4 Hot Standby 203
5.5 物理复制槽 212
5.6 本章小结 215
第6章 逻辑解码与逻辑复制 216
6.1 复制槽 217
6.2 逻辑解码 221
6.2.1 Snapshot Builder 222
6.2.2 Reorder Buffer 237
6.2.3 Logical Decoding 242
6.2.4 Replication Origin 247
6.3 逻辑复制 250
6.3.1 发布与订阅 251
6.3.2 复制的起点 254
6.4 本章小结 257
第7章 SSI 258
7.1 SSI介绍 258
7.1.1 依赖关系 259
7.1.2 S2PL和SSI 259
7.1.3 MVCC和SSI 261
7.1.4 SSI方法 262
7.2 “危险结构” 266
7.3 SSI的优化方法 269
7.4 SSI的实现方法 271
7.5 本章小结 299
第8章 Zheap引擎 300
8.1 事务槽 301
8.2 TPD 306
8.3 元组的变化 310
8.4 Undo日志 310
8.4.1 Undo的文件结构 311
8.4.2 Undo的内存结构 314
8.4.3 Undo的页面结构 316
8.5 事务槽的使用 317
8.6 可见性判断 323
8.7 Undo操作 327
8.8 Undo日志清理 329
8.9 本章小结 334
第9章 两阶段提交 335
9.1 两阶段提交简介 336
9.2 PostgreSQL中的2PC 337
9.3 本章小结 342
附录A 存储引擎概述 343
A.1 存储文件形式 343
A.2 缓冲区 345
A.3 SLRU 347
附录B 事务的文件结构 352
B.1 access目录 352
B.2 storage目录 353
B.3 replication目录 353
B.4 utils目录 354

短评
评论
笔记