PostgreSQL技术内幕

张树杰
内容简介 事务是关系型数据库实现的核心内容,它具有原子性、一致性、隔离性和持久性等特点,是数据库实现并发控制和故障恢复的基础。 本书首先分析了PostgreSQL数据库事务的实现机制,包括事务的基本概念、两阶段锁的原理及实现方法、多版本并发控制的原理及实现方法、故障恢复的实现方法等,然后通过介绍物理复制、逻辑复制、Zheap引擎的原理及实现、SSI的实现、两阶段提交的原理及实现,使读者获得了对事务更深入的理解,从而使读者既能了解事务的原理,又能清楚事务的实现细节。 本书适合数据库内核开发及相关领域的研究人员、数据库DBA、高等院校相关专业的本科生或者研究生阅读。 前言 为什么写这本书 近年来,我一直从事与PostgreSQL相关的数据库内核开发工作,主攻方向是SQL引擎中的查询优化,对事务的了解仅停留在理论层面,虽然对事务的性质、隔离级别也能讲一番大道理,但终究华而不实,于探究事务的本质无益。所谓“纸上得来终觉浅,绝知此事要躬行”,在完成了《PostgreSQL技术内幕:查询优化深度探索》一书之后,我就开始了事务的探索之旅。 探索的过程并非一帆风顺。事务的理论已经颇为复杂,在形成源码之后更是有数十万行之多,对这些源码做逐行分析的工作量非常大,一旦遇到不解的问题,还需查阅资料、翻阅讨论组中的邮件。入之愈深,其进愈难,则其见愈奇。以前根据事务理论想当然的一些理解会被具体实现中的精巧设计打破,而对这些设计细节的深刻理解能帮助我们快速地解决工作中遇到的问题,因此,我又产生了写第二本书的想法,希望对自己在探索过程中遇到的知识点做一个总结与分享。 为什么阅读这本书 事务是关系数据库中最重要的内容之一,无论是对数据库内核进行开发,还是在数据库的基础上进行应用程序的开发,都需要对事务有深入的了解。本书细致地解读了PostgreSQL 数据库中与事务相关的大部分源码,对其中比较重要的理…