《事务处理原理 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)伯恩斯坦,(美)纽克默著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302240419
  • 页数:387 页
图书介绍:本书包括:网上银行和网上股票购买、eBay拍卖、企业数据库管理等。

第1章 介绍 1

1.1 基础知识 1

1.1.1 问题 1

1.1.2 什么是事务处理 2

1.1.3 事务处理应用程序 3

1.1.4 事务程序的主要功能 4

1.2 TP系统的体系结构 5

1.2.1 面向服务的计算 7

1.2.2 硬件的体系结构 9

1.3 原子性、一致性、隔离性和持久性(ACID) 10

1.3.1 原子性 10

1.3.2 一致性 13

1.3.3 隔离性 14

1.3.4 持久性 14

1.4 两阶段提交 15

1.5 事务处理性能 17

1.5.1 TPC-A和TPC-B基准 18

1.5.2 TPC-C基准 20

1.5.3 TPC-E基准 21

1.6 可用性 22

1.7 系统样式 24

1.7.1 批处理系统 25

1.7.2 实时系统 26

1.7.3 数据仓库系统 26

1.7.4 其他系统类型 27

1.7.5 为什么要设计TP系统 28

1.8 TP系统配置 28

1.9 小结 29

第2章 事务处理抽象 31

2.1 介绍 31

2.2 事务 31

2.2.1 集合事务括号 32

2.2.2 事务标识符 34

2.2.3 链式事务 35

2.2.4 面向对象编程中的事务括号 35

2.2.5 嵌套事务 37

2.2.6 异常处理 38

2.2.7 保存点 39

2.2.8 使用保存点支持嵌套事务 40

2.3 进程和线程 41

2.3.1 为什么需要线程 41

2.3.2 实现线程 43

2.4 远程过程调用 46

2.4.1 事务RPC 48

2.4.2 绑定客户机和服务器 48

2.4.3 RPC走查 52

2.4.4 RPC的系统特性 54

2.4.5 如何比较RPC系统 57

2.5 共享状态 57

2.5.1 事务上下文 58

2.5.2 会话 59

2.5.3 无状态服务器 60

2.5.4 有状态应用程序 62

2.6 可伸缩性 64

2.6.1 扩展服务器 64

2.6.2 扩展系统 66

2.7 小结 70

2.7.1 事务括号 70

2.7.2 进程和线程 71

2.7.3 远程过程调用 71

2.7.4 共享状态 72

2.7.5 可伸缩性技术 72

第3章 事务处理应用程序体系结构 73

3.1 介绍 73

3.2 应用程序体系结构 74

3.2.1 多层体系结构 75

3.2.2 面向服务的体系结构 77

3.2.3 面向对象设计 77

3.2.4 简单请求 78

3.3 前端程序 78

3.3.1 前端程序层次 78

3.3.2 使用表单和菜单收集输入 79

3.3.3 构造请求 82

3.3.4 记录 83

3.3.5 Web服务器 83

3.3.6 Web服务器的状态管理 85

3.3.7 认证与加密 86

3.4 请求控制器 88

3.4.1 指定请求控制器功能 88

3.4.2 事务括号 89

3.4.3 请求完整性 89

3.4.4 进程结构 90

3.4.5 会话结构 91

3.4.6 安全性 91

3.5 事务服务器 91

3.6 事务中间件 93

3.7 数据库服务器与事务中间件 95

3.8 小结 97

第4章 队列化的事务处理 99

4.1 为什么使用队列 99

4.2 队列事务处理模型 102

4.2.1 从服务器的角度看排队 102

4.2.2 从客户端的角度看排队 102

4.3 客户端恢复 104

4.4 处理不可撤消的操作 107

4.5 队列管理器 108

4.5.1 对队列消息的操作 109

4.5.2 路由选择 111

4.5.3 调度器 112

4.6 发布-订阅 112

4.7 其他面向消息的中间件 113

4.7.1 基于代理的体系结构 114

4.7.2 基于总线的体系结构 114

4.7.3 比较代理与总线 115

4.8 队列式产品和标准 115

4.8.1 IBM的WebSphere MQ 116

4.8.2 Oracle Streams AQ 118

4.9 小结 119

第5章 业务流程管理 121

5.1 介绍 121

5.2 业务流程定义 123

5.3 业务流程的执行 124

5.4 事务特性 126

5.4.1 隔离性 127

5.4.2 原子性 127

5.4.3 持久性 128

5.5 使流程状态持久 129

5.5.1 使用专用的运行时系统 129

5.5.2 使用队列请求 130

5.5.3 伪会话 131

5.5.4 使用日志 132

5.6 业务流程的其他模型 133

5.7 产品和标准 135

5.7.1 Web服务业务流程执行语言 135

5.7.2 SQL Server服务代理 137

5.8 小结 138

第6章 锁定 141

6.1 介绍 141

6.1.1 正确性和两阶段规则 142

6.1.2 事务只通过读取写入来交互 143

6.1.3 保持事务握手 144

6.1.4 自动锁定 145

6.2 实现 146

6.2.1 锁管理器 146

6.2.2 锁的设置和释放 148

6.2.3 粒度 149

6.2.4 多粒度锁定 149

6.3 死锁 150

6.3.1 死锁预防 151

6.3.2 死锁检测 151

6.3.3 选择牺牲品 152

6.3.4 分布式死锁检测 153

6.4 性能 154

6.4.1 锁转换 154

6.4.2 锁抖动 155

6.4.3 锁定性能的数学模型 158

6.5 热点 159

6.5.1 延迟操作直到提交 160

6.5.2 乐观方法 161

6.5.3 批处理 162

6.5.4 分区技术 163

6.6 查询-更新问题 163

6.6.1 数据仓库 164

6.6.2 隔离度 164

6.6.3 多版本数据 167

6.6.4 多版本实现的细节 168

6.7 避免幻象 169

6.8 乐观并发控制 171

6.9 B-树锁定 172

6.9.1 B+树 173

6.9.2 B+树的插入 174

6.9.3 树锁定 176

6.9.4 B-链接优化 177

6.10 多粒度锁定 179

6.11 嵌套事务的锁定 182

6.12 小结 183

6.13 附录:基本的可串行性理论 184

6.13.1 历史等价 184

6.13.2 可串行性定理 185

6.13.3 两阶段锁定定理 185

第7章 系统恢复 187

7.1 系统故障的原因 187

7.1.1 强化环境 188

7.1.2 系统管理 189

7.1.3 硬件 189

7.1.4 软件 190

7.2 系统恢复的模型 190

7.2.1 检测进程故障 190

7.2.2 客户端恢复 192

7.2.3 服务器恢复 193

7.2.4 基于检查点的恢复 193

7.2.5 基于事务的服务器恢复 195

7.2.6 无状态服务器 195

7.3 数据库恢复概述 197

7.3.1 故障类型 197

7.3.2 恢复策略 198

7.4 系统模型 198

7.4.1 锁定假设 198

7.4.2 页面粒度操作 200

7.4.3 存储模型 201

7.4.4 日志 202

7.5 数据库恢复管理器 204

7.5.1 实现异常终止 204

7.5.2 实现提交 206

7.6 影式分页算法 207

7.7 基于日志的数据库恢复算法 210

7.7.1 实现提交 210

7.7.2 实现异常终止 211

7.7.3 实现重启 212

7.8 在基于日志的算法中优化重启操作 214

7.8.1 模糊检查点技术 214

7.8.2 操作日志化 215

7.8.3 用户技巧 219

7.9 媒介恢复 220

7.9.1 镜像硬盘 220

7.9.2 归档 222

7.10 小结 224

第8章 两阶段提交 227

8.1 介绍 227

8.2 两阶段提交协议 228

8.2.1 假设 228

8.2.2 准备就绪 229

8.2.3 协议 229

8.2.4 性能 230

8.2.5 阻塞 231

8.3 故障处理 232

8.4 优化和变化 235

8.4.1 再感染 236

8.4.2 协调转移 237

8.4.3 阶段零 237

8.4.4 推定异常终止 238

8.4.5 只读事务 239

8.4.6 合作终止协议 240

8.5 进程构成 241

8.5.1 独立事务管理器 241

8.5.2 列入事务中 242

8.5.3 进程树模型 244

8.6 用户一览表 245

8.7 小结 246

第9章 复制 249

9.1 介绍 249

9.2 复制的服务器 249

9.2.1 主-备份模型 249

9.2.2 复制资源 251

9.2.3 复制具有共享资源的服务器 252

9.3 在复制数据和更新间同步 252

9.3.1 单副本可串行性 252

9.3.2 复制更新 253

9.3.3 复制请求 255

9.4 单主站主副本复制 256

9.4.1 正常的操作 256

9.4.2 故障和恢复 259

9.4.3 具有多个从副本的主副本的恢复 261

9.4.4 一致性、可用性和分区兼容性 265

9.5 多主副本 266

9.5.1 分区操作可能十分有用 266

9.5.2 多主的更新传递 266

9.5.3 非盲更新 268

9.5.4 使用版本矢量检测复制冲突 269

9.5.5 冲突解决方案 271

9.5.6 维护版本矢量 271

9.5.7 版本矢量的更新规则 272

9.5.8 简化的版本矢量更新规则 273

9.5.9 示例回顾 275

9.5.10 再次讨论一致性、可用性和分区兼容性 276

9.5.11 Microsoft Sync Framework 277

9.6 其他复制技术 278

9.7 数据共享系统 278

9.7.1 锁定 279

9.7.2 高速缓存 279

9.7.3 记入日志 282

9.8 小结 283

第10章 事务中间件产品和标准 287

10.1 介绍 287

10.1.1 事务中间件的发展趋势 287

10.1.2 事务中间件编程模型 288

10.1.3 Java EE与.NET Framework 288

10.2 Web浏览器前端程序 289

10.3 .NET Framework 292

10.3.1 开发前端程序 293

10.3.2 开发请求控制器和事务服务器 295

10.3.3 REST/HTTP支持 300

10.3.4 WCF部署选项 300

10.3.5 使用System.Transactions进行事务管理 300

10.3.6 显式编程模型 301

10.3.7 与遗留TP监视器的集成 303

10.4 Java企业版 303

10.4.1 开发前端程序 305

10.4.2 REST支持 307

10.4.3 开发请求控制器和事务服务器 307

10.4.4 使用Java进行事务管理 311

10.4.5 与遗留TP监视器的集成 314

10.4.6 Spring事务 315

10.5 面向服务的体系结构 317

10.5.1 基于Web服务的SOA 318

10.5.2 基于REST/HTTP的SOA 320

10.6 持久抽象机制 321

10.6.1 ODBC和JDBC 322

10.6.2 存储过程 324

10.6.3 JPA 326

10.6.4 ADO.NET和ADO.NET实体框架 328

10.7 遗留的TP监视器 330

10.7.1 CICS事务服务器 331

10.7.2 IMS 334

10.7.3 Tuxedo 337

10.7.4 ACMS 340

10.7.5 Pathway TS/MP 343

10.8 TP标准 346

10.8.1 Web服务-事务 347

10.8.2 XA接口 349

10.8.3 对象事务服务 350

10.8.4 JTA 351

10.8.5 服务组件体系结构 352

10.8.6 OSGi联盟 352

10.8.7 高级消息队列协议 353

10.9 小结 353

第11章 未来的发展趋势 357

11.1 介绍 357

11.2 云计算 357

11.3 可伸缩分布式计算 359

11.4 存储技术 361

11.5 流和事件处理 362

11.6 小结 362

缩略语表 365

参考文献说明 373

参考文献 381