书籍作者:李海翔 | ISBN:9787111582359 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:8017 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
作者有近20年数据库内核研发经验,曾是Oracle公司MySQL全球开发组核心成员,现在是腾讯的T4级专家。数据库领域的泰斗杜小勇老师亲自为是本书作序,数据库学术界的知名学者张孝博士(中国人民大学)、卢卫博士后(中国人民大学)、彭煜玮博士(武汉大学),以及数据库工业界的知名专家盖国强和姜承尧等也给予了极高的评价。
全书共12章,首先介绍数据库事务管理与并发控制的基础理论和工作机制,然后再从工程实践的角度对比和分析了4个主流数据库的事务管理与并发控制的实现原理,最后通过源代码分析了PostgreSQL和MySQL在事务管理与并发控制上的技术架构与设计思想。
第一篇(1-2章) 事务管理与并发控制基础理论
对数据库事务管理和并发控制的基础理论、核心技术和工作原理进行了讲解,包括数据库事务处理技术的范围、数据的异常现象及成因、事务模型、并发访问控制技术、以及隔离性等。
第二篇(3-6章) 事务管理与并发控制应用实例研究
以Informix、Oracle、PostgreSQL和MySQL/InnoDB等主流数据库系统为例,对他们的事务管理和并发控制的实现技术、工作原理以及原理背后的设计思想进行了深度分析和对比。
第三篇(7-9章) PostgreSQL事务管理与并发控制源码分析
首先对PostgreSQL事务处理技术的架构、层次、设计思想、相关数据结构和实现原理进行了深入系统的分析,然后从功能角度对PostgreSQL的事务模型、并发控制、一致性、隔离性以及其所使用的SS2PL、MVCC、SSI等技术做了深入的讲解。
第四篇(10-12章) InnoDB事务管理与并发控制源码分析
首先对事MySQL/InnoDB的务处理技术的架构、层次、设计思想、相关数据结构和实现原理进行了深入系统的分析,然后从功能角度对MySQL/InnoDB的事务模型、并发控制、一致性、隔离性以及其所使用的SS2PL、MVCC等技术做了深入的讲解。
李海翔(网名:那海蓝蓝)
资深数据专家,拥有近20年数据库内核研发经验,曾就职于人大金仓、Oracle公司MySQL全球开发组等,现就职于腾讯TEG计费平台部,T4级专家。中国人民大学工程硕士企业导师。
数据库技术精湛,不仅熟悉PostgreSQL、GreenPlum、MySQL、Informix、CockroachDB等数据库的使用,而且熟悉它们的源码,尤其擅长数据库的查询优化技术、事务处理技术和数据库架构技术。数据库相关工作阅历丰富,从事过数据库研发(JDBC驱动、管理工具套机、内核)、数据库测试、技术团队管理、数据库架构设计等多个岗位。
曾获得北京市科学技术进步奖一等奖和腾讯公司级技术突破奖,做过包括863、核高基、工信部、科技部、发改委、北京市科委等多个重大科技项目在内的30多个国家*大型项目。
除本书外,还撰写并出版了本书的姊妹篇《数据库查询优化器的艺术:原理解析与SQL性能优化》,被誉为数据库性能优化领域的经典。
作者是腾讯的T4级专家,有近20年数据库内核研发经验,曾是Oracle公司MySQL全球开发组核心成员
中国计算机学会(CCF)常务理事、数据库专委会主任、数据库领域著名专家、中国人民大学杜小勇教授亲自作序推荐
人民大学张孝和卢卫教授、武汉大学彭煜炜教授、云和恩墨CEO盖国强、腾讯金融支付数据库运营与研发部副总监姜承尧联袂推荐
推荐序一
推荐序二
推荐序三
推荐序四
推荐序五
推荐序六
前言
第一篇 事务管理与并发控制基础理论
第1章 数据库管理系统的事务原理 2
1.1 事务模型要解决的问题 2
1.1.1 为什么需要事务处理机制 2
1.1.2 事务机制要处理的问题——事务故障、系统故障、介质故障 4
1.1.3 并发带来的问题椚?
常见的读数据异常现象 4
1.1.4 并发带来的问题——写并发操作引发的数据异常现象 8
1.1.5 语义约束引发的数据异常现象 9
1.1.6 其他的异常 11
1.1.7 深入探讨三种读数据异常现象 13
1.2 事务处理技术的原理 17
1.2.1 什么是事务 17
1.2.2 事务的属性 20
1.2.3 ACID的实现技术 24
1.3 事务的模型 26
1.4 并发控制技术 27
1.4.1 并发控制技术的实现策略 27
1.4.2 并发控制技术的实现技术 28
1.5 日志技术与恢复子系统31
1.6 本章小结 32
第2章 深入理解事务管理和并发控制技术 33
2.1 在正确性和效率之间平衡 33
2.1.1 隔离级别 34
2.1.2 快照隔离 36
2.1.3 理解可见性 39
2.2 并发控制 40
2.2.1 基于锁的并发控制方法 42
2.2.2 基于时间戳的并发控制方法 47
2.2.3 基于有效性检查的并发控制方法 52
2.2.4 基于MVCC的并发控制方法 53
2.2.5 基于MVCC的可串行化快照隔离并发控制方法 56
2.2.6 再深入探讨三种读数据异常现象 60
2.3 并发控制技术的比较 62
2.3.1 并发控制技术整体比较 62
2.3.2 S2PL和SS2PL的比较 64
2.3.3 事务属性与并发控制技术的关系 65
2.3.4 SCO和SS2PL的比较 66
2.3.5 TO和SS2PL的比较 67
2.4 深入探讨隔离级别 68
2.4.1 隔离级别与基于锁的并发控制方法 68
2.4.2 隔离级别与各种并发控制技术 69
2.5 事务的管理 70
2.5.1 事务的开始 71
2.5.2 事务的提交 71
2.5.3 事务的中止与回滚 72
2.5.4 子事务与SAVEPOINT 72
2.5.5 长事务的管理 73
2.5.6 XA 74
2.6 事务相关的实战问题讨论 75
2.7 本章小结 76
第二篇 事务管理与并发控制应用实例研究
第3章 Informix事务管理与并发控制 78
3.1 Informix的事务操作 78
3.2 Informix的封锁技术 83
3.3 隔离级别与数据异常 85
3.4 本章小结 88
第4章 PostgreSQL事务管理与并发控制 89
4.1 PostgreSQL事务操作 89
4.2 SQL操作与锁 92
4.3 隔离级别与数据异常 108
4.4 本章小结 118
第5章 InnoDB事务管理与并发控制 119
5.1 InnoDB的事务模型 119
5.2 InnoDB基于锁的并发控制 123
5.3 InnoDB基于MVCC的并发控制 130
5.4 隔离级别与数据异常 131
5.5 本章小结 138
第6章 Oracle事务管理与并发控制 139
6.1 Oracle的事务操作 139
6.2 Oracle的封锁技术 142
6.3 MVCC技术 145
6.4 隔离级别与数据异常 157
6.5 本章小结 160
第三篇 PostgreSQL事务管理与并发控制源码分析
第7章 PostgreSQL事务系统的实现 162
7.1 架构概述 162
7.2 事务管理的基础 166
7.3 事务操作 173
7.4 子事务的管理 186
7.5 本章小结 188
第8章 PostgreSQL并发控制系统的实现—封锁 189
8.1 锁的概述 189
8.2 系统锁 192
8.3 事务锁 214
8.4 事务锁的管理 239
8.5 死锁检测 247
8.6 从锁的角度看用法 254
8.7 本章小结 262
第9章 PostgreSQL并发控制系统的实现—MVCC 263
9.1 快照 264
9.2 可见性判断与多版本 273
9.3 可串行化快照原理 285
9.4 PostgreSQL可串行化快照的实现 289
9.5 隔离级别 336
9.6 本章小结 340
第四篇 InnoDB事务管理与并发控制源码分析
第10章 InnoDB事务系统的实现 342
10.1 架构概述 342
10.2 事务管理的基础 346
10.3 事务操作 353
10.4 InnoDB事务模型 378
10.5 本章小结 382
第11章 InnoDB并发控制系统的实现—两阶段锁 383
11.1 锁的概述 383
11.2 系统锁 386
11.3 事务锁之记录锁 401
11.4 事务锁之元数据锁 433
11.5 SQL语义定义锁 476
11.6 其他类型的锁 493
11.7 事务与锁 499
11.8 本章小结 500
第12章 InnoDB并发控制系统的实现—MVCC 502
12.1 数据结构 503
12.2 可见性判断 506
12.3 多版本的实现 509
12.4 一致性读和半一致性读 511
12.5 本章小结 513
附录 TDSQL简介 514
理论方面讲的有点啰嗦,不够系统;实现部分又缺乏结构,比较零碎。感觉来来回回就是mvcc,2pl,si, ssi那几个词
2018-01-06