kindle电子书

资源下载,尽在我的书库!
首页 > kindle电子书库 > 工业|计算机|互联网 > 电子、计算机、网络

数据库事务处理的艺术:事务管理与并发控制 (数据库技术丛书)

  • 作者:[中] 李海翔
  • 体积:22.77 MB
  • 语言:中文
  • 日期:2019-01-10
  • 推荐:

简介:数据库事务处理的艺术:事务管理与并发控制 (数据库技术丛书)

电子书详细介绍

TAG():数据库

 数据库的基本特征之一是支持多用户共享数据,而事务管理和并发控制是提供这一支持的核心技术,是大型数据库有别于某些表格管理软件的关键特性之一,也是实现一个大型数据库管理系统时会面临的最有挑战性的技术之一。本书从基本原理和案例系统分析深刻论述了该领域的进展现状与典型实现技术,特别是源码分析对有志于学习或定制开源数据库管理系统的开发人员提供了很好的参考。对数据库有关的各类从业者了解这一主题提供了难得的参考资料。

全书共12章,首先介绍数据库事务管理与并发控制的基础理论和工作机制,然后从工程实践的角度对比和分析了4个主流数据库的事务管理与并发控制的实现原理,后通过源代码分析了PostgreSQL和MySQL在事务管理与并发控制上的技术架构与设计思想。第壹篇(第1章和第2章)对数据库事务管理和并发控制的基础理论、核心技术和工作原理进行了讲解。第二篇(第3~6章)对事务管理和并发控制的实现技术、工作原理以及原理背后的设计思想进行了深度分析和对比。第三篇(第7~9章)对PostgreSQL事务处理技术的架构、层次、设计思想、相关数据结构和实现原理进行了深入系统的分析和讲解。第四篇(第10~12章)对MySQL/InnoDB事务处理技术的架构、层次、设计思想、相关数据结构和实现原理进行了深入系统的分析。

编辑推荐

《数据库事务处理的艺术:事务管理与并发控制》由机械工业出版社出版。

作者简介

高级数据库专家,从事数据库内核的开发与研究15年,对数据库系统原理、MySQL和PostgreSQL等开源数据库的内核有非常深入的研究,对Informix、Oracle和SQL Server等商用数据库也有深入的研究。15年来就职于人大金仓信息技术有限公司、Oracle公司MySQL全球开发组等单位,从事MySQL、 PostgreSQL和Informix数据库内核的开发工作。2014年在我社出版《数据库查询优化器的艺术》一书,获得读者青睐。在MySQL、 PostgreSQL等数据库社区有着很大的影响力,先后多次受邀作为中国数据库技术大会、中国系统架构师大会、Oracle技术嘉年华、MySQL技术嘉年华等大会的嘉宾和专家评委,出席大会做主题分享。

 

目录

推荐序一
推荐序二
推荐序三
推荐序四
推荐序五
推荐序六
前言
第一篇事务管理与并发控制基础理论
第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.3ACID的实现技术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.2S2PL和SS2PL的比较64
2.3.3事务属性与并发控制技术的关系65
2.3.4SCO和SS2PL的比较66
2.3.5TO和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子事务与SAVEPOINT72
2.5.5长事务的管理73
2.5.6XA74
2.6事务相关的实战问题讨论75
2.7本章小结76
第二篇事务管理与并发控制应用实例研究
第3章Informix事务管理与并发控制78
3.1Informix的事务操作78
3.1.1开始事务78
3.1.2提交事务79
3.1.3回滚事务80
3.1.4XA事务80
3.1.5事务模型82
3.2Informix的封锁技术83
3.2.1锁的级别83
3.2.2锁的粒度84
3.3隔离级别与数据异常85
3.3.1Informix支持的隔离级别85
3.3.2隔离级别与日志的模式86
3.3.3写偏序异常87
3.4本章小结88
第4章PostgreSQL事务管理与并发控制89
4.1PostgreSQL事务操作89
4.1.1开始事务90
4.1.2提交事务90
4.1.3回滚事务90
4.1.4XA事务91
4.1.5自动控制事务91
4.2SQL操作与锁92
4.2.1锁的研究准备92
4.2.2INSERT操作触发的锁94
4.2.3SELECT操作触发的锁94
4.2.4SELECTFORUPDATE操作触发的锁97
4.2.5UPDATE操作触发的锁100
4.2.6DELETE操作触发的锁103
4.2.7ANALYZE操作触发的锁106
4.2.8CREATEINDEX操作触发的锁106
4.2.9CREATETRIGGER操作触发的锁107
4.2.10锁的相关参数108
4.3隔离级别与数据异常108
4.3.1SQL标准定义的三种读异常108
4.3.2写偏序异常115
4.4本章小结118
第5章InnoDB事务管理与并发控制119
5.1InnoDB的事务模型119
5.1.1开始事务120
5.1.2提交事务与回滚事务121
5.1.3MySQL的XA122
5.2InnoDB基于锁的并发控制123
5.2.1基于封锁技术实现基本的并发控制123
5.2.2锁的种类124
5.2.3锁的施加规则127
5.2.4获取InnoDB行锁争用情况129
5.2.5死锁129
5.3InnoDB基于MVCC的并发控制130
5.4隔离级别与数据异常131
5.4.1SQL标准定义的三种读异常131
5.4.2写偏序异常134
5.5本章小结138
第6章Oracle事务管理与并发控制139
6.1Oracle的事务操作139
6.1.1事务管理139
6.1.2事务属性和隔离级别140
6.1.3XA事务141
6.2Oracle的封锁技术142
6.2.1元数据锁的级别142
6.2.2用户数据锁的级别143
6.3MVCC技术145
6.3.1MVCC的历史145
6.3.2深入理解MVCC147
6.3.3Oracle的MVCC149
6.4隔离级别与数据异常157
6.4.1Oracle支持的隔离级别157
6.4.2写偏序异常158
6.5本章小结160
第三篇PostgreSQL事务管理与并发控制源码分析
第7章PostgreSQL事务系统的实现162
7.1架构概述162
7.1.1事务和并发控制相关的文件162
7.1.2事务相关的整体架构164
7.2事务管理的基础166
7.2.1事务状态166
7.2.2事务体171
7.2.3事务运行的简略过程172
7.3事务操作173
7.3.1开始事务173
7.3.2事务提交177
7.3.3日志落盘179
7.3.4事务回滚180
7.3.5clog185
7.4子事务的管理186
7.4.1子事务与父事务的区别186
7.4.2保存点187
7.5本章小结188
第8章PostgreSQL并发控制系统的实现—封锁189
8.1锁的概述189
8.1.1锁操作的本质189
8.1.2与锁相关的文件190
8.1.3与锁相关的内存初始化191
8.2系统锁192
8.2.1SpinLock192
8.2.2LWLock198
8.2.3SpinLock与LWLock比较213
8.3事务锁214
8.3.1锁的基本信息214
8.3.2ReguarLock221
8.3.3行级锁232
8.3.4Advisorylock(劝告锁)237
8.4事务锁的管理239
8.4.1获取锁239
8.4.2锁查找或创建242
8.4.3释放锁243
8.4.4锁冲突检测244
8.5死锁检测247
8.5.1数据结构247
8.5.2等待获取锁与死锁处理248
8.5.3死锁检测251
8.5.4进程唤醒252
8.6从锁的角度看用法254
8.6.1AccessShareLock254
8.6.2RowShareLock256
8.6.3RowExclusiveLock257
8.6.4ExclusivcLock258
8.6.5其他的锁260
8.7本章小结262
第9章PostgreSQL并发控制系统的实现——MVCC263
9.1快照264
9.1.1相关文件2矾
9.1.2数据结构265
9.1.3快照的类型268
9.1.4快照的管理268
9.1.5可串行化隔离级别的快照271
9.2可见性判断与多版本273
9.2.1可见性判断273
9.2.2多版本实现282
9.3可串行化快照原理285
9.3.1理论基础285
9.3.2算法实现287c
9.4PostgreSQL可串行化快照的实现289
9.4.1PostgreSQL的状况289
9.4.2PostgreSQL实现SSI的理论基础289
9.4.3谓词锁数据结构297
9.4.4谓词锁操作306
9.4.5冲突检测32I
9.5隔离级别336
9.5.1隔离级别336
9.5.2各种隔离级别的实现337
9.6本章小结340
……
第四篇InnoDB事务管理与并发控制源码分析

我来说两句

本书评论

共有 0 条评论
图书分类
我的书库手机端
帮助中心
会员登录 ×
新用户注册 ×