数据库事务处理的艺术:事务管理与并发控制 作者:李海翔 出版时间:2017.10内容简介 作者有近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等技术做了深入的讲解。目录推荐序一推荐序二推荐序三推荐序四推荐序五推荐序六前言第一篇 事务管理与并发控制基础理论第1章 数据库管理系统的事务原理 21.1 事务模型要解决的问题 21.1.1 为什么需要事务处理机制 21.1.2 事务机制要处理的问题——事务故障、系统故障、介质故障 41.1.3 并发带来的问题椚?常见的读数据异常现象 41.1.4 并发带来的问题——写并发操作引发的数据异常现象 81.1.5 语义约束引发的数据异常现象 91.1.6 其他的异常 111.1.7 深入探讨三种读数据异常现象 131.2 事务处理技术的原理 171.2.1 什么是事务 171.2.2 事务的属性 201.2.3 ACID的实现技术 241.3 事务的模型 261.4 并发控制技术 271.4.1 并发控制技术的实现策略 271.4.2 并发控制技术的实现技术 281.5 日志技术与恢复子系统311.6 本章小结 32第2章 深入理解事务管理和并发控制技术 332.1 在正确性和效率之间平衡 332.1.1 隔离级别 342.1.2 快照隔离 362.1.3 理解可见性 392.2 并发控制 402.2.1 基于锁的并发控制方法 422.2.2 基于时间戳的并发控制方法 472.2.3 基于有效性检查的并发控制方法 522.2.4 基于MVCC的并发控制方法 532.2.5 基于MVCC的可串行化快照隔离并发控制方法 562.2.6 再深入探讨三种读数据异常现象 602.3 并发控制技术的比较 622.3.1 并发控制技术整体比较 622.3.2 S2PL和SS2PL的比较 642.3.3 事务属性与并发控制技术的关系 652.3.4 SCO和SS2PL的比较 662.3.5 TO和SS2PL的比较 672.4 深入探讨隔离级别 682.4.1 隔离级别与基于锁的并发控制方法 682.4.2 隔离级别与各种并发控制技术 692.5 事务的管理 702.5.1 事务的开始 712.5.2 事务的提交 712.5.3 事务的中止与回滚 722.5.4 子事务与SAVEPOINT 722.5.5 长事务的管理 732.5.6 XA 742.6 事务相关的实战问题讨论 752.7 本章小结 76第二篇 事务管理与并发控制应用实例研究第3章 Informix事务管理与并发控制 783.1 Informix的事务操作 783.2 Informix的封锁技术 833.3 隔离级别与数据异常 853.4 本章小结 88第4章 PostgreSQL事务管理与并发控制 894.1 PostgreSQL事务操作 894.2 SQL操作与锁 924.3 隔离级别与数据异常 1084.4 本章小结 118第5章 InnoDB事务管理与并发控制 1195.1 InnoDB的事务模型 1195.2 InnoDB基于锁的并发控制 1235.3 InnoDB基于MVCC的并发控制 1305.4 隔离级别与数据异常 1315.5 本章小结 138第6章 Oracle事务管理与并发控制 1396.1 Oracle的事务操作 1396.2 Oracle的封锁技术 1426.3 MVCC技术 1456.4 隔离级别与数据异常 1576.5 本章小结 160第三篇 PostgreSQL事务管理与并发控制源码分析第7章 PostgreSQL事务系统的实现 1627.1 架构概述 1627.2 事务管理的基础 1667.3 事务操作 1737.4 子事务的管理 1867.5 本章小结 188第8章 PostgreSQL并发控制系统的实现—封锁 1898.1 锁的概述 1898.2 系统锁 1928.3 事务锁 2148.4 事务锁的管理 2398.5 死锁检测 2478.6 从锁的角度看用法 2548.7 本章小结 262第9章 PostgreSQL并发控制系统的实现—MVCC 2639.1 快照 2649.2 可见性判断与多版本 2739.3 可串行化快照原理 2859.4 PostgreSQL可串行化快照的实现 2899.5 隔离级别 3369.6 本章小结 340第四篇 InnoDB事务管理与并发控制源码分析第10章 InnoDB事务系统的实现 34210.1 架构概述 34210.2 事务管理的基础 34610.3 事务操作 35310.4 InnoDB事务模型 37810.5 本章小结 382第11章 InnoDB并发控制系统的实现—两阶段锁 38311.1 锁的概述 38311.2 系统锁 38611.3 事务锁之记录锁 40111.4 事务锁之元数据锁 43311.5 SQL语义定义锁 47611.6 其他类型的锁 49311.7 事务与锁 49911.8 本章小结 500第12章 InnoDB并发控制系统的实现—MVCC 50212.1 数据结构 50312.2 可见性判断 50612.3 多版本的实现 50912.4 一致性读和半一致性读 51112.5 本章小结 513附录 TDSQL简介 514 上一篇: etcd技术内幕 [百里燊] 下一篇: scikit learn机器学习:常用算法原理及编程实战