万本电子书0元读

万本电子书0元读

顶部广告

数据库事务处理的艺术:事务管理与并发控制电子书

(1)作者是腾讯的T4级专家,有近20年数据库内核研发经验,曾是Oracle公司MySQL全球发组核心成员 (2)中国计算机学会(CCF)常务理事、数据库专委会主任、数据库领域著名专家、中国人民大学杜小勇教授亲自作序推荐 (3)人民大学张孝和卢卫教授、武汉大学彭煜炜教授、云和恩墨CEO盖国强、腾讯金融支付数据库运营与研发部副总监姜承尧联袂推荐

售       价:¥

纸质售价:¥71.50购买纸书

30人正在读 | 0人评论 6.6

作       者:李海翔

出  版  社:机械工业出版社

出版时间:2017-10-01

字       数:56.6万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
作者有近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等技术做了深的讲解。<br/>【推荐语】<br/>(1)作者是腾讯的T4级专家,有近20年数据库内核研发经验,曾是Oracle公司MySQL全球发组核心成员 (2)中国计算机学会(CCF)常务理事、数据库专委会主任、数据库领域著名专家、中国人民大学杜小勇教授亲自作序推荐 (3)人民大学张孝和卢卫教授、武汉大学彭煜炜教授、云和恩墨CEO盖国强、腾讯金融支付数据库运营与研发部副总监姜承尧联袂推荐<br/>【作者】<br/>李海翔(网名:那海蓝蓝) 资深数据专家,拥有近20年数据库内核研发经验,曾就职于人大金仓、Oracle公司MySQL全球发组等,现就职于腾讯TEG计费平台部,T4级专家。中国人民大学工程硕士企业导师。 数据库技术精湛,不仅熟悉PostgreSQL、GreenPlum、MySQL、Informix、CockroachDB等数据库的使用,而且熟悉它们的源码,尤其擅长数据库的查询优化技术、事务处理技术和数据库架构技术。数据库相关工作阅历丰富,从事过数据库研发(JDBC驱动、管理工具套机、内核)、数据库测试、技术团队管理、数据库架构设计等多个岗位。 曾获得北京市科学技术步奖一等奖和腾讯公司级技术突破奖,做过包括863、核高基、工信部、科技部、发改委、北京市科委等多个重大科技项目在内的30多个*大型项目。 除本书外,还撰写并出版了本书的姊妹篇《数据库查询优化器的艺术:原理解析与SQL性能优化》,被誉为数据库性能优化领域的经典。<br/>
目录展开

推荐序一

推荐序二

推荐序三

推荐序四

推荐序五

推荐序六

前言

第一篇事务管理与并发控制基础理论

第1章 数据库管理系统的事务原理

1.1 事务模型要解决的问题

1.1.1 为什么需要事务处理机制

1.1.2 事务机制要处理的问题——事务故障、系统故障、介质故障

1.1.3 并发带来的问题——三种常见的读数据异常现象

1.1.4 并发带来的问题——写–写并发操作引发的数据异常现象

1.1.5 语义约束引发的数据异常现象

1.1.6 其他的异常

1.1.7 深入探讨三种读数据异常现象

1.2 事务处理技术的原理

1.2.1 什么是事务

1.2.2 事务的属性

1.2.3 ACID的实现技术

1.3 事务的模型

1.4 并发控制技术

1.4.1 并发控制技术的实现策略

1.4.2 并发控制技术的实现技术

1.5 日志技术与恢复子系统

1.6 本章小结

第2章 深入理解事务管理和并发控制技术

2.1 在正确性和效率之间平衡

2.1.1 隔离级别

2.1.2 快照隔离

2.1.3 理解可见性

2.2 并发控制

2.2.1 基于锁的并发控制方法

2.2.2 基于时间戳的并发控制方法

2.2.3 基于有效性检查的并发控制方法

2.2.4 基于MVCC的并发控制方法

2.2.5 基于MVCC的可串行化快照隔离并发控制方法

2.2.6 再深入探讨三种读数据异常现象

2.3 并发控制技术的比较

2.3.1 并发控制技术整体比较

2.3.2 S2PL和SS2PL的比较

2.3.3 事务属性与并发控制技术的关系

2.3.4 SCO和SS2PL的比较

2.3.5 TO和SS2PL的比较

2.4 深入探讨隔离级别

2.4.1 隔离级别与基于锁的并发控制方法

2.4.2 隔离级别与各种并发控制技术

2.5 事务的管理

2.5.1 事务的开始

2.5.2 事务的提交

2.5.3 事务的中止与回滚

2.5.4 子事务与SAVEPOINT

2.5.5 长事务的管理

2.5.6 XA

2.6 事务相关的实战问题讨论

2.7 本章小结

第二篇事务管理与并发控制应用实例研究

第3章 Informix事务管理与并发控制

3.1 Informix的事务操作

3.1.1 开始事务

3.1.2 提交事务

3.1.3 回滚事务

3.1.4 XA事务

3.1.5 事务模型

3.2 Informix的封锁技术

3.2.1 锁的级别

3.2.2 锁的粒度

3.3 隔离级别与数据异常

3.3.1 Informix支持的隔离级别

3.3.2 隔离级别与日志的模式

3.3.3 写偏序异常

3.4 本章小结

第4章 PostgreSQL事务管理与并发控制

4.1 PostgreSQL事务操作

4.1.1 开始事务

4.1.2 提交事务

4.1.3 回滚事务

4.1.4 XA事务

4.1.5 自动控制事务

4.2 SQL操作与锁

4.2.1 锁的研究准备

4.2.2 INSERT操作触发的锁

4.2.3 SELECT操作触发的锁

4.2.4 SELECT FOR UPDATE操作触发的锁

4.2.5 UPDATE操作触发的锁

4.2.6 DELETE操作触发的锁

4.2.7 ANALYZE操作触发的锁

4.2.8 CREATE INDEX操作触发的锁

4.2.9 CREATE TRIGGER操作触发的锁

4.2.10 锁的相关参数

4.3 隔离级别与数据异常

4.3.1 SQL标准定义的三种读异常

4.3.2 写偏序异常

4.4 本章小结

第5章 InnoDB事务管理与并发控制

5.1 InnoDB的事务模型

5.1.1 开始事务

5.1.2 提交事务与回滚事务

5.1.3 MySQL的XA

5.2 InnoDB基于锁的并发控制

5.2.1 基于封锁技术实现基本的并发控制

5.2.2 锁的种类

5.2.3 锁的施加规则

5.2.4 获取InnoDB行锁争用情况

5.2.5 死锁

5.3 InnoDB基于MVCC的并发控制

5.4 隔离级别与数据异常

5.4.1 SQL标准定义的三种读异常

5.4.2 写偏序异常

5.5 本章小结

第6章 Oracle事务管理与并发控制

6.1 Oracle的事务操作

6.1.1 事务管理

6.1.2 事务属性和隔离级别

6.1.3 XA事务

6.2 Oracle的封锁技术

6.2.1 元数据锁的级别

6.2.2 用户数据锁的级别

6.3 MVCC技术

6.3.1 MVCC的历史

6.3.2 深入理解MVCC

6.3.3 Oracle的MVCC

6.3.4 MVCC进阶

6.4 隔离级别与数据异常

6.4.1 Oracle支持的隔离级别

6.4.2 写偏序异常

6.5 本章小结

第三篇PostgreSQL事务管理与并发控制源码分析

第7章 PostgreSQL事务系统的实现

7.1 架构概述

7.1.1 事务和并发控制相关的文件

7.1.2 事务相关的整体架构

7.2 事务管理的基础

7.2.1 事务状态

7.2.2 事务体

7.2.3 事务运行的简略过程

7.3 事务操作

7.3.1 开始事务

7.3.2 事务提交

7.3.3 日志落盘

7.3.4 事务回滚

7.3.5 clog

7.4 子事务的管理

7.4.1 子事务与父事务的区别

7.4.2 保存点

7.5 本章小结

第8章 PostgreSQL并发控制系统的实现——封锁

8.1 锁的概述

8.1.1 锁操作的本质

8.1.2 与锁相关的文件

8.1.3 与锁相关的内存初始化

8.2 系统锁

8.2.1 SpinLock

8.2.2 LWLock

8.2.3 SpinLock与LWLock比较

8.3 事务锁

8.3.1 锁的基本信息

8.3.2 ReguarLock

8.3.3 行级锁

8.3.4 Advisory locks(劝告锁)

8.4 事务锁的管理

8.4.1 获取锁

8.4.2 锁查找或创建

8.4.3 释放锁

8.4.4 锁冲突检测

8.5 死锁检测

8.5.1 数据结构

8.5.2 等待获取锁与死锁处理

8.5.3 死锁检测

8.5.4 进程唤醒

8.6 从锁的角度看用法

8.6.1 AccessShareLock

8.6.2 RowShareLock

8.6.3 RowExclusiveLock

8.6.4 ExclusiveLock

8.6.5 其他的锁

8.7 本章小结

第9章 PostgreSQL并发控制系统的实现——MVCC

9.1 快照

9.1.1 相关文件

9.1.2 数据结构

9.1.3 快照的类型

9.1.4 快照的管理

9.1.5 可串行化隔离级别的快照

9.2 可见性判断与多版本

9.2.1 可见性判断

9.2.2 多版本实现

9.3 可串行化快照原理

9.3.1 理论基础

9.3.2 算法实现

9.4 PostgreSQL可串行化快照的实现

9.4.1 PostgreSQL的状况

9.4.2 PostgreSQL实现SSI的理论基础

9.4.3 谓词锁数据结构

9.4.4 谓词锁操作

9.4.5 冲突检测

9.5 隔离级别

9.5.1 隔离级别

9.5.2 各种隔离级别的实现

9.6 本章小结

第四篇InnoDB事务管理与并发控制源码分析

第10章 InnoDB事务系统的实现

10.1 架构概述

10.1.1 事务和并发控制相关的文件

10.1.2 事务相关的整体架构

10.2 事务管理的基础

10.2.1 事务状态

10.2.2 表示事务的数据结构

10.2.3 UNDO日志与回滚

10.2.4 REDO日志

10.2.5 内部事务的处理

10.2.6 Mini-Transaction

10.3 事务操作

10.3.1 InnoDB的初始化

10.3.2 开始事务

10.3.3 提交事务

10.3.4 日志落盘

10.3.5 回滚事务

10.3.6 Mini-Transaction的提交

10.3.7 Mini-Transaction的回滚

10.3.8 SAVEPOINT

10.3.9 XA

10.3.10 事务的其他内容

10.4 InnoDB事务模型

10.5 本章小结

第11章 InnoDB并发控制系统的实现——两阶段锁

11.1 锁的概述

11.1.1 锁操作的本质

11.1.2 全局锁表

11.1.3 封锁系统的架构

11.2 系统锁

11.2.1 读写锁

11.2.2 Mutex锁

11.2.3 其他锁

11.3 事务锁之记录锁

11.3.1 记录锁的基本数据结构

11.3.2 记录锁

11.3.3 记录锁与隔离级别

11.4 事务锁之元数据锁

11.4.1 元数据锁的数据结构

11.4.2 元数据锁的管理与使用

11.4.3 死锁处理

11.5 SQL语义定义锁

11.5.1 锁的粒度

11.5.2 重要的数据结构

11.5.3 InnoDB对接MySQL Server

11.6 其他类型的锁

11.6.1 Mini-Transaction加锁

11.6.2 事务锁之谓词锁

11.7 事务与锁

11.8 本章小结

第12章 InnoDB并发控制系统的实现——MVCC

12.1 数据结构

12.1.1 MVCC

12.1.2 Read View快照

12.1.3 事务与快照

12.2 可见性判断

12.2.1 可见性原则

12.2.2 二级索引的可见性

12.3 多版本的实现

12.3.1 多版本结构

12.3.2 多版本生成

12.3.3 多版本查找

12.3.4 多版本清理

12.4 一致性读和半一致性读

12.4.1 一致性读

12.4.2 半一致性读

12.5 本章小结

附录 TDSQL简介

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部