新書推薦:
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:NT$
1010.0
《
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
》
售價:NT$
199.0
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
704.0
《
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
》
售價:NT$
301.0
《
先进电磁屏蔽材料——基础、性能与应用
》
售價:NT$
1010.0
《
可转债投资实战
》
售價:NT$
454.0
《
王氏之死(新版,史景迁成名作)
》
售價:NT$
250.0
《
敢为天下先:三年建成港科大
》
售價:NT$
352.0
|
內容簡介: |
事务是关系型数据库实现的核心内容,它具有原子性、一致性、隔离性和持久性等特点,是数据库实现并发控制和故障恢复的基础。 本书首先分析了PostgreSQL数据库事务的实现机制,包括事务的基本概念、两阶段锁的原理及实现方法、多版本并发控制的原理及实现方法、故障恢复的实现方法等,然后通过介绍物理复制、逻辑复制、Zheap引擎的原理及实现、SSI的实现、两阶段提交的原理及实现,使读者获得了对事务更深入的理解,从而使读者既能了解事务的原理,也能清楚事务的实现细节。 本书适合数据库内核开发及相关领域的研究人员、数据库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
|
|