
李海翔
作者有近20年数据库内核研发经验,曾是Oracle公司MySQL全球开发组核心成员,现在是腾讯的T4级专家。数据库领域的泰斗杜小勇老师亲自为是本书作序,数据库学术界的知名学者张孝博士(中国人民大学)、卢卫博士后(中国人民大学)、彭煜玮博士(武汉大学),以及数据库工业界的知名专家盖国强和姜承尧等也给予了极高的评价。 全书共12章 第一篇(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等技术做了深入的讲解。
辨别一个数据库管理系统主要的并发控制技术, 是看其使用什么技术实现 可串行化。 因为只有实现了可串行化,才能真正保证数据的一致性, 这是功能正确性的问题。 而隔离级别中除 可串行化 级别外的其他级别, 是在牺牲一致性的前提下, 从提高性能方面考虑的, 所以越是弱的隔离级别,限制越少,并发度越高, 所以除 可串行化 级别外的其他级别 则是性能问题。 先功能正确 再追求性能卓越, 是数据库管理系统各个功能特性设计的目标。 PostgreSQL 是基于 MVCC 技术实现的可串行化, 所以我们说 PostgreSQL 的并发控制技术是以 MVCC 技术为主。 而 InnoDB 是基于 锁 实现的可串行化, 所以 InnoDB 的并发控制技术是以 封锁 技术为主。 但 InnoDB 也支持 MVCC 。
在数据库这个复杂的领域,难得如此深入的介绍和分析,原理与实践并重。
其他相关的书只停留在概念定义的阶段,本书讨论了将这些概念落实需要考虑的问题、实现方案、各家数据库的实现、源码等,能从字里行间感受到作者的技术深厚的功底。