事务信息系统
作者 : Gerhard Weikum,Gottfried Vossen
译者 : 陈立军 邱海艳 赵如奎 等
丛书名 : 计算机科学丛书
出版日期 : 2005-12-16
ISBN : 7-111-17531-X
定价 : 78.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 508
开本 : 16开
原书名 : Transactional Information Systems
原出版社: Morgan Kaufmann Publishers
属性分类: 教材
包含CD :
绝版 :
图书简介

本书标志了事务处理技术的一个重要进步。它深入介绍了该领域的理论和实践,是讲述多级(对象模型)事务处理最新进展的第一本著作。在未来多年内极有可能成为我们研究领域内的标准参考书。--Jim Gray, 微软公司
  
  本书是事务处理领域的前沿科学家们期待已久的综合性大作。本书的目的和功绩就在于阐述事务系统的基础理论以及领域内的实际应用,能够帮助你轻松面对当前信息技术的挑战。
  本书特点
  ●给出了常见的主题的最新进展,同时提供了充分利用这些素材所必需的数据库背景知识。
  ●广泛探究事务处理的过程,既讨论在实践中获得广泛应用的信息技术又讲解实现企业目标的方法。
  ●包含了对基于Web的电子商务应用的开发者非常重要的信息,对传统应用的开发也很有帮助。
  ●详细描述底层事务处理的核心功能所用的算法。

图书特色

图书前言

本书的使命
  近30年来,事务处理成为现代信息技术发展过程中的一个里程碑:因为它成了银行业、股票交易、航空公司、旅行社等各个行业业务中不可缺少的一部分。在新的世纪里,随着电子商务应用、B2B工作流以及基于Web的电子服务的飞速发展,事务信息系统变得更为重要。幸运的是,事务这个概念的成功之处不仅在于精巧的系统实现,还在于研究团体为其提供的科学严格的理论基础,为事务信息处理的发展起到了很好的推动作用。理论基础中最显著的研究成果是由Jim Gray做出的,由于在事务概念上突出的开创性工作,他获得了1998年的图灵奖。正是基于对事务概念基本的、系统的理解,使我们可以对事务信息系统进行扩展和推广,使其能够适应以网络为中心的、功能更加丰富的应用。
  由于以上的原因,本书着重讲述长期有效并且有价值的关于事务的理论基础,而不涉及具体的系统产品,因为产品很可能很快就过时了。然而,本书在实际的系统体系结构中讨论了现有的理论、算法以及实现技巧。从这一点上来讲,本书是对那些面向系统的著作的补充。在所有基于系统的著作中,最值得注意的是Jim Gray和Andreas Reuter所著的“事务处理圣经”《事务处理:概念与技术》(中译本已由机械工业出版社出版)以及最近由Phil Bernstein和Eric Newcomer所著的教科书。本书的功能模型与Phil Bernstein、Vassos Hadzilacos和Nat Goodman已绝版的经典著作《数据库系统的并发控制与恢复》(Concurrency Control and Recovery in Database Systems)是一致的。然而,从该书写成到现在,这个领域又有了长足的发展,事务的概念被拓宽到数据库系统以外的其他相关领域。我们这本书反映了过去10年间这个领域的发展和现代IT体系结构的发展方向。

本书的组织
  事务信息系统的两个主要组成部分是并发控制(在很多客户端同时访问共享数据的时候确保数据库的正确性)与恢复(在发生系统故障的时候保护数据)。本书的两个重要组成部分,第二部分和第三部分,一共15章,着重讲述这两个组成部分。对于分布式的多级事务服务器的联合,我们将看到,每个事务服务器的并发控制与恢复部件是实现可行解决方案的主要资源;但是,“分布式事务之间的协调”是另外一个非常重要的问题,我们将在第四部分对其进行描述。对上述三个技术性的“核心”部分的介绍分别包含在第一部分和第五部分中,其中第一部分包含了背景与动机,并且给出了事务技术的“框图”;第五部分对本书没有讲述到的一些主题(由于时间和篇幅所限)给予展望并对未来的发展方向进行推测。贯穿所有五个部分,每章由摘要开始,给出该章的目标和概述,由小结、习题和文献注释结束(注意:第20章没有小结和习题)。

教学方案
  本书包含很多高级素材,包括形式化模型的密集应用。因此,这里假设读者有坚实的计算机科学理论基础和背景,但是,不熟悉数据库系统也没关系。需要应用到的数据库系统相关领域的知识在本书中都给予了讲述。实际上,我们这样做的要点在于事务技术在很多其他领域也非常重要;例如,操作系统、工作流管理、电子商务以及分布式对象。因此,应该独立于数据库课程进行讲述。
  编写本书最初的目的是作为高年级本科生或研究生相关课程的教材,同时,我们也鼓励需要深入理解事务信息系统的业界的研究人员、系统构建人员以及开发人员学习本书。毕竟,工程师不应该恐惧(或者有一点点恐惧)数学。
  本书已经在课堂教学中进行了测试,测试是在德国的几所大学进行的,包括在Saarbr焎ken的Saarland大学,M焠ster大学,还在Constance大学进行了部分测试;测试都是作为本科生的高级课程进行的。在Saarbr焎ken,课程组织为15个教学周,每周4小时的宣讲再加上额外的课后作业。下面给出了一个包含本书章节内容的教学时间表。由于很多大学对于这样的高级课程每周只允许有2个小时的讲授时间;因此,可以把本书的素材分成必修的核心主题和可选的“高端”主题,像表1给出的那样(每章的第一节和最后一节都是必修章节,因此这个表中省略了这两节)。
表1  15周课程的建议教学时间表
周 必 修 章 节 可 选 章 节
 1 第1章:概述
第2章:计算模型
1.2~1.5, 2.2~2.5
 2 第3章:并发控制
3.2~3.5, 3.7~3.8 3.6, 3.9~3.10
 3 第4章:并发控制算法
4.2, 4.3.1~4.3.4, 4.4~4.5 4.3.5~4.3.8
 4 第5章:多版本并发控制
5.2, 5.3.1~5.3.2, 5.5 5.3.3, 5.4
 5 第6章:对象上的并发控制:正确性概念
6.2~6.5 6.6
 6 第7章:对象上的并发控制算法
第8章:关系数据库的并发控制
7.2~7.5 7.6, 8.2~8.4
 7 第9章:搜索结构上的并发控制
第10章:实现和实用性问题
9.2~9.3, 9.4.1, 10.2~10.3 9.4.2, 9.4.3, 9.5, 10.4~10.7
 8 第11章:事务恢复
11.2~11.4, 11.5.1, 11.6~11.7 11.5.2~11.5.3
 9 第12章:崩溃恢复:正确性概念
第13章:页模型崩溃恢复算法
12.2~12.4, 13.2,13.3.1~13.3.3, 13.4 12.5, 13.3.4
10 第14章:对象模型的故障恢复
14.2~14.4 14.5
11 第15章:恢复的特别问题
第16章:介质恢复
16.2.1~16.2.2, 16.3.1 15.2~15.6, 16.2.3, 16.3.2, 16.4
12 第17章:应用恢复
17.2~17.4 17.5
13 第18章:分布式并发控制
18.2~18.3, 18.4.1~18.4.2, 18.5 18.4.3, 18.6~18.8
14 第19章:分布式事务恢复
19.2~19.3 19.4
15 第20章:下一步是什么
20.2~20.5
  也可以根据本书的素材配置一个10周的授课计划。在这种时间约束下,显然需要省去一些高级的主题。我们在表2中给出了一个10周授课(每周2小时或4小时授课时间)的建议。

表2  10周课程的建议教学时间表
周 必修章节
 1 第1章:概述
第2章:计算模型
1.2~1.4, 2.2~2.5
 2 第3章:并发控制
3.2~3.5, 3.7~3.8
 3 第4章:并发控制算法
4.2, 4.3.1~4.3.4, 4.4~4.5
 4 第5章:多版本并发控制
5.2, 5.3.1~5.3.2, 5.5
 5 第6章:对象上的并发控制:正确性概念
第7章:对象上的并发控制算法
6.2~6.5, 7.2~7.4
 6 第10章:实现和实用性问题
第11章:事务恢复
10.2~10.3, 11.2~11.4, 11.5.1, 11.6~11.7
 7 第12章:崩溃恢复:正确性概念
第13章:页模型崩溃恢复算法
12.2~12.4, 13.2, 13.3.1~13.3.3, 13.4
 8 第14章:对象模型的故障恢复
第16章:介质恢复
14.2~14.4, 16.2.1~16.2.2, 16.3.1
 9 第17章:应用恢复
第18章:分布式并发控制
17.2~17.3, 18.2.1~18.2.2, 18.4.1~18.4.2, 18.5
10 第19章:分布式事务恢复
19.2~19.3
  额外的教学素材,最主要的是授课幻灯片和部分习题的解答,可以在www.mkp.com/tis/得到。一旦发现书中有错误,我们就将其加入本书的勘误表中。我们也非常欢迎对本书的评论、建议和批评,这些信息可以通过电子邮件weikum@cs.uni-sb.de或vossen@uni-mvenster.de 提交给我们。

致谢
  很多同行给我们提供了非常有价值的东西:鼓励、建设性的批评、校对、课堂测试和简单的错误校正。我们非常感谢Jim Gray、Elliot Moss、Dennis Shasha、Betty和Pat O誑eil、K.Vidyasankar、Alan Fekete、Dave Lomet以及Marc Scholl。关于本书习题的重要工作是由Ralf Schenkel完成的;Carolin Letz编辑和查证了很多参考文献条目。本书也潜在地受益于很多技术性的讨论以及与Catriel Beeri、Yuri Breitbart、Theo H妑der、Dave Lomet,尤其是Hans-J歳g Schek的合作。当然,本书所有的偏见和可能的错误都是我们自己的过错。
  我们的编辑Diane Cerra和她的同事Belinda Breyer也非常出色,因为她们在保持我们放松而有创造力的同时偶尔给我们一些健康的压力,而且在两者之间做到了很好的平衡,她们对我们的需要一直都给予支持。我们希望所有写书的人都能够有这样一个出色的编辑队伍。我们也非常幸运有机会和Edward Wade所领导的出色的出版队伍合作,包括我们的版本编辑Judith Brown,校对者Jennifer McClain,设计师Rebecca Evans和Frances Baca,索引编辑Steve Rath。最后,但相当重要的是,我们还要感谢我们的家人,当我们专注于工作而忽视了他们的时候,他们还陪伴在我们的身边。

图书序言

本书标志着事务处理技术的一个重要进步。它把近30年来领域内的研究成果进行综合组织,形成了严格一致的描述。它统一了页模型和对象模型的并发控制与恢复。与众多的参考文献一样,这种统一包含了除Weikum和Vossen以外的很多其他研究人员的工作;但是,本书把所有这些研究成果组织起来形成了一个完整一致的文集,并且以逐步深入的方式对一些想法和内容进行了讲述。
  事务处理的优秀著作大都或者关注事务的实际应用,或者用严格的方法描述定理并进行证明。大多数限于“平面”事务,因为多级事务的理论是如此不成熟。本书是对事务相关领域的理论和实践进行深入描述以及讲述多级(对象模型)事务处理的最新进展的第一本书。
  在读本书的过程中,这一研究领域的发展以及采用恰当的术语和观察角度简单描述复杂的想法都给我留下了深刻的印象。你可以停留在表面来阅读本书:只是跟随书的文本进行阅读,包括例子、定义和定理。你也可以按照你喜欢的任意深度对本书中给出结果的详细描述进行阅读—包括证明和程序。在纵览本书的过程中,我采用了两种方法来阅读:把本书当成一本参考书,深入到某些章节中,看用多快的速度能找到问题的答案;我也按照顺序的方法对本书进行了阅读。从以上两种情况的结果来看,本书都是信息量极为丰富且非常容易理解的。
  本书在未来多年内极有可能成为我们研究领域内的标准参考书。

Jim Gray,微软公司

作者简介

Gerhard Weikum,Gottfried Vossen:Gerhard Weikum:  Gerhard Weikum德国Saarbrucken Saarland大学计算机科学系的教授,他在这里领导着一个研究团队,专门从事数据库与信息系统方面的研究。他的研究重点是并行的和分布式的信息系统、事务处理和工作流管理、数据库优化和性能评价、多媒体数据库管理和Web数据智能搜索。
Gottfried Vossen: Gottfried Vossen德国Munster大学计算机科学系的教授。他的研究领域包括基于对象的数据库系统;还包括数据库语言、事务处理、与科学应用的集成、XML及其应用、工作流管理。

译者简介

陈立军 邱海艳 赵如奎 等:暂无简介

译者序

历史总是处于不断的嬗变之中。许多时令的弄潮儿,有的被沙汰,湮没而不知所终,有的则经受住了考验,当时则荣,众口交传,其后便逐渐掩隐在历史的群山怀抱中了。正如村落中一口不起眼的井,司空见惯,好像生活中生就的一部分。可正是有了它,才使得上古之人摆脱了对河流和季节的依赖,能够定居下来,大大延拓了文明的范围。也许,只有小时曾经在油灯下苦读过的人才会激动于电灯的光芒。伟大发明所引起的那种震撼和欣悦甚至感动只存在于亲眼目睹它诞生的人们当中。
  如果有人置疑信息技术是20世纪最伟大的发明,这并不奇怪,因为我们已经完全沉浸在基于信息系统所构建的世界里了。其实说它是20世纪最重要的发明一点也不为过,人类的一切文明活动,都将在信息系统的基础上展开。也许你午餐的内容仍旧会是一块比萨,但是现在这块比萨是按照你的口味定制的并在你方便的时间送到你的桌前。我们目睹这一变化,其中有些甚至参与推动了这一变化,这是属于我们的时代,我们为此激动不已。而对于我们的下一辈来讲,在他们的理解当中,世界是生就如此的。
  事务处理技术是有效管理和使用计算机信息资源的关键。透视我们日常生活的方方面面,我们在与银行、股市、航空公司、旅行社等打交道时,实际上都是基于一个个的事务处理方式。事务是一种“要么全部,要么全不”的语义范型,它的ACID特性可以保证数据在并发访问时的一致性以及发生故障时的可恢复性。如果在系统的某个基础层次上实现了事务的概念,则上层应用逻辑的处理就会变得统一而且简单。因此事务处理技术不但在传统上用于操作系统、数据库系统中,而且它使得一些事务型资源管理器如队列管理器、工作流系统等也变得日益流行。事务处理已经变成现代信息系统的基础支撑部件,随着电子商务应用以及基于Web的电子服务的飞速发展,它变得益发重要。
  本书共由五部分构成,第一部分概述事务处理的背景与动机,并从理论上讲解了所基于的计算模型:页模型和对象模型;第二部分和第三部分是全书的核心,分别讲述了事务处理的两个基本部件:并发和恢复,涵盖了(多版本)并发控制,包括索引结构上的并发、事务恢复、崩溃恢复、介质恢复和应用恢复等一系列相关内容。第四部分讲述有关分布式事务的并发控制和事务恢复,以及在工作流和电子商务应用中运用事务技术的考虑;第五部分则是应用与未来展望。需要提及的是,这是第一本阐述对象模型上事务处理的教材。
  本书是典型的德国人的著作,遣词严谨工整,行文雅驯而不拗口,叙述广博而不枝蔓,可谓一本哲学风格的工程技术书。读者可以将其与Jim Gray的《事务处理:概念与技术》一书相对照,相信两者会相得益彰。后者偏重于系统实现,是作者在工程实践领域浸淫多年的心得之作,可谓厚积而薄发,挥挥洒洒,优裕自如,概成大观。本书则是在作者对近30年来事务领域内的研究成果进行归纳综合的基础上精心结撰而成的,它强调理论阐述的高度形式化,以严谨洗练的推理方式给出了优雅紧凑的理论结果,蕴含着一种数学之美。当然这种推理并不是繁文缛节的,也是有着其深刻的应用背景因素的。相信读者经过潜心阅读,在掌握事务处理相关知识的同时,还能从中学到一套计算机科学领域的形式化推理方法。
  参加本书翻译的还有张远、赵静和陈瑞怡,董炜作为本书正式出版前的第一位读者,对其中一些翻译得生硬拗口和难于索解之处提出了很好的建议,对于他们的辛勤工作,在此一并表示感谢。
  正如图灵奖获得者Jim Gray所言,相信本书在未来很长一段时间内会被奉为事务处理领域内的圭皋。限于译者水平,原书精髓难于传神到位,虽经译者反复校核,错讹之处在所难免,欢迎广大读者批评指正,以便本书再版时勘误补遗。

陈立军
2005年8月

图书目录

第一部分  背景与动机
第1章  概述 1
1.1  目标和概述 1
1.2  应用举例 2
1.2.1  联机事务处理:借/贷的例子 2
1.2.2  电子商务的例子 5
1.2.3  工作流管理:旅行计划的例子 6
1.3  系统范型 8
1.3.1  三层体系结构和两层体系结构 8
1.3.2  服务器的联合 11
1.4  事务概念的优点 12
1.4.1  事务特性与事务编程接口 12
1.4.2  事务服务器的功能需求 14
1.5  数据库服务器的概念与体系结构 14
1.5.1  数据库系统的分层体系结构 14
1.5.2  数据是如何存储的 16
1.5.3  数据是如何被访问的 17
1.5.4  查询与更新是如何进行的 19
1.6  小结 21
习题 21
文献注释 21
第2章  计算模型 23
2.1  目标和概述 23
2.2  计算模型的组成部分 23
2.3  页模型 24
2.4  对象模型 27
2.5  本书的“路线图” 30
2.6  小结 31
习题 31
文献注释 32
第二部分  并 发 控 制
第3章  并发控制:页模型正确性的概念 33
3.1  目标和概述 33
3.2  经典的并发问题 33
3.3  历史和调度的语法 35
3.4  历史和调度的正确性 39
3.5  调度的Herbrand语义 40
3.6  终态可串行性 42
3.7  视图可串行性 45
3.7.1  视图等价和结果正确性准则 46
3.7.2  检测视图可串行性的复杂性 47
3.8  冲突可串行性 51
3.8.1  冲突关系 51
3.8.2  CSR类 52
3.8.3  冲突和交换性 54
3.8.4  冲突可串行性的约束 56
3.9  提交可串行性 57
3.10  一个可选的正确性准则:交叉存取说明 60
3.11  小结 65
习题 66
文献注释 67
第4章  并发控制算法 69
4.1  目标和概述 69
4.2  通用调度器的设计 69
4.3  锁调度器 72
4.3.1  简介 72
4.3.2  两阶段封锁协议 74
4.3.3  死锁处理 77
4.3.4  2PL的变体 79
4.3.5  有序的共享锁 80
4.3.6  利它锁 83
4.3.7  非两阶段封锁协议 86
4.3.8  封锁的几何学意义 89
4.4  非封锁调度器 91
4.4.1  时间戳排序 91
4.4.2  串行化图的检测 92
4.4.3  乐观协议 94
4.5  混合协议 96
4.6  小结 98
习题 99
文献注释 100
第5章  多版本并发控制 101
5.1  目标和概述 101
5.2  多版本调度 101
5.3  多版本可串行性 103
5.3.1  多版本视图可串行性 103
5.3.2  MVSR成员资格检测 105
5.3.3  多版本冲突可串行性 107
5.4  限制版本的数目 109
5.5  多版本并发控制协议 110
5.5.1  MVTO协议 110
5.5.2  MV2PL协议 111
5.5.3  MVSGT协议 114
5.5.4  只读事务的多版本协议 115
5.6  小结 116
习题 116
文献注释 117
第6章  对象上的并发控制:正确性概念 119
6.1  目标和概述 119
6.2  历史和调度 119
6.3  平面对象事务的冲突可串行性 122
6.4  树可归约性 125
6.5  树可归约的充分条件 128
6.6  采用基于状态的可交换性 132
6.7  小结 135
习题 136
文献注释 137
第7章  对象上的并发控制算法 139
7.1  目标和概述 139
7.2  平面对象事务封锁 139
7.3  分层锁 140
7.4  通用事务森林上的封锁 144
7.5  混合算法 146
7.6  为返回值的可交换性加锁和契约锁 147
7.7  小结 150
习题 151
文献注释 151
第8章  关系数据库的并发控制 153
8.1  目标和概述 153
8.2  面向谓词的并发控制 154
8.3  关系的更新事务 157
8.3.1  语法和语义 158
8.3.2  可交换性和简化规则 159
8.3.3  历史和最终状态的可串行性 160
8.3.4  冲突可串行性 161
8.3.5  扩展的冲突可串行性 162
8.3.6  在函数依赖面前的可串行性 163
8.3.7  小结 165
8.4  应用事务程序知识 165
8.4.1  范例 166
8.4.2  事务分割 167
8.4.3  切割的适用性 169
8.5  小结 171
习题 171
文献注释 173
第9章  搜索结构上的并发控制 174
9.1  目标和概述 174
9.2  B+树搜索结构的实现 175
9.3  访问层的键范围封锁 178
9.4  页层的技术 183
9.4.1  锁耦合 184
9.4.2  链接技术 189
9.4.3  放弃技术 190
9.5  进一步的优化 191
9.5.1  无死锁的页闩锁 191
9.5.2  增强的键范围并发 191
9.5.3  降低封锁开销 192
9.5.4  利用暂态版本化 193
9.6  小结 193
习题 194
文献注释 195
第10章  实现和实用性问题 196
10.1  目标和概述 196
10.2  锁管理器的数据结构 196
10.3  多粒度封锁和动态提升 197
10.4  暂态版本化 199
10.5  事务内部并行的嵌套事务 201
10.6  调整选项 201
10.6.1  手动封锁 202
10.6.2  SQL的隔离级别 202
10.6.3  短事务 204
10.6.4  多道程序级别的限制 206
10.7  过载控制 207
10.7.1  反馈驱动方法 208
10.7.2  等待深度限制 210
10.8  小结 210
习题 211
文献注释 211
第三部分  恢   复
第11章  事务恢复 213
11.1  目标和概述 213
11.2  带有显式Undo操作的扩展调度 214
11.2.1  概念的直觉和概述 214
11.2.2  形式化模型 214
11.3  页模型的正确性准则 216
11.3.1  扩展冲突可串行性 216
11.3.2  可归约性与前缀可归约性 217
11.4  充分的句法条件 219
11.4.1  可恢复性 220
11.4.2  避免级联中止 220
11.4.3  严格性 221
11.4.4  严厉性 221
11.4.5  日志可恢复性 224
11.5  带有事务中止的页模型调度协议 227
11.5.1  为实现严格性和严厉性扩展两阶段封锁协议 227
11.5.2  为日志可恢复性扩展串行图检测 227
11.5.3  为日志可恢复性扩展其他协议 229
11.6  对象模型的正确性准则 229
11.6.1  平面对象调度中的中止 229
11.6.2  通用对象模型中的完全中止和部分中止 234
11.7  带有事务中止的对象模型调度协议 237
11.8  小结 237
习题 237
文献注释 239
第12章  崩溃恢复:正确性概念 241
12.1  目标和概述 241
12.2  系统体系结构和接口 243
12.3  系统模型 244
12.4  正确性准则 246
12.5  算法路线图 248
12.6  小结 250
习题 251
文献注释 251
第13章  页模型崩溃恢复算法 252
13.1  目标和概述 252
13.2  基本数据结构 253
13.3  重做胜者范型 256
13.3.1  正常操作期间的操作 256
13.3.2  简单的三遍扫描(三趟)算法 259
13.3.3  增强算法:日志截断、检查点、重做优化 269
13.3.4  完整的算法:处理事务中止和撤销完成 281
13.4  重做历史范型 288
13.4.1  正常操作期间的操作 288
13.4.2  简单的三趟算法和两趟算法 288
13.4.3  增强的算法:日志截断、检查点和重做优化 294
13.4.4  完整的算法:处理事务回滚和撤销完成 294
13.5  小结 299
习题 306
文献注释 308
第14章  对象模型的故障恢复 309
14.1  目标和概述 309
14.2  重做历史算法的概念综述 309
14.3  一个简单的两层系统的重做历史算法 311
14.3.1  正常操作期间的操作 312
14.3.2  重启期间的操作 313
14.4  一个增强的两层系统的重做历史算法 316
14.5  一个完整的通用对象模型执行的重做历史算法 322
14.6  小结 324
习题 325
文献注释 327
第15章  恢复的特别问题 328
15.1  目标和概述 328
15.2  索引和大对象的日志和恢复 328
15.2.1  重做索引页分裂的逻辑日志条目 328
15.2.2  大对象操作的逻辑日志条目和刷出顺序 331
15.3  事务内部保存点和嵌套事务 334
15.4  在重启过程中使用并行性 338
15.5  对主存数据服务器的特殊考虑 339
15.6  数据共享机群的扩展 341
15.7  小结 344
习题 344
文献注释 346
第16章  介质恢复 347
16.1  目标和概述 347
16.2  基于日志的方法 348
16.2.1  正常操作期间的数据备份和归档日志 349
16.2.2  数据库恢复算法 351
16.2.3  对平均数据丢失时间的分析 352
16.3  存储冗余 355
16.3.1  基于镜像的技术 355
16.3.2  基于纠错码的技术 357
16.4  灾难恢复 363
16.5  小结 364
习题 364
文献注释 365
第17章  应用恢复 366
17.1  目标和概述 366
17.2  基于队列的无状态应用 367
17.3  基于队列的有状态应用 372
17.4  基于队列的工作流 374
17.4.1  故障可恢复工作流的状态和上下文 375
17.4.2  基于排队事务的分散工作流 376
17.5  一般的有状态应用 377
17.5.1  设计上考虑的事项 378
17.5.2  服务器应答日志算法综述 380
17.5.3  数据结构 381
17.5.4  正常操作期间的服务器日志活动 382
17.5.5  正常操作期间的客户端日志活动 384
17.5.6  日志截断 385
17.5.7  服务器重启 387
17.5.8  客户端重启 388
17.5.9  正确性推理 390
17.5.10  对于多层体系结构的适用性 393
17.6  小结 393
习题 394
文献注释 394
第四部分  分布式事务的协调
第18章  分布式并发控制 397
18.1  目标和概述 397
18.2  同构联邦中的并发控制 398
18.2.1  预备知识 399
18.2.2  分布式2PL 400
18.2.3  分布式TO 401
18.2.4  分布式SGT 402
18.2.5  乐观协议 403
18.3  分布式死锁检测 404
18.4  异构联邦中的可串行性 406
18.4.1  全局历史 407
18.4.2  全局可串行性 408
18.4.3  准可串行性 410
18.5  通过本地的保证获得全局可串行性 411
18.5.1  严厉性 411
18.5.2  提交排序 412
18.6  基于ticket的并发控制 413
18.6.1  强迫冲突的显式ticket 413
18.6.2  隐式ticket 415
18.6.3  显示和隐式ticket的结合 415
18.7  异构联邦中对象模式的并发控制 416
18.8  数据共享系统的一致性和并发控制 417
18.9  小结 420
习题 421
文献注释 422
第19章  分布式事务恢复 424
19.1  目标和概述 424
19.2  基本的两阶段提交算法 425
19.2.1  2PC协议 425
19.2.2  重启和终止协议 430
19.2.3  独立恢复 435
19.3  事务树两阶段提交算法 436
19.4  分布式提交的优化算法 439
19.4.1  假设中止协议和假设提交协议 439
19.4.2  只读子树的优化 443
19.4.3  协调者转移 445
19.4.4  减少阻塞 447
19.5  小结 448
习题 449
文献注释 450
第五部分  应用与未来前景
第20章  下一步是什么 453
20.1  目标和概述 453
20.2  我们完成了什么 453
20.2.1  开发者可用的解决方案 453
20.2.2  高级的系统搭建者可用的最新技术 454
20.2.3  研究人员的方法学和新的挑战 455
20.3  用于普遍访问的数据复制 455
20.4  电子服务和工作流 457
20.5  性能和可用性保证 460
文献注释 462
参考文献 464

教学资源推荐
作者: John Adolph Palinski
作者: 邱李华,曹青,郭志强
作者: Abraham Silberschatz;Henry F. Korth;S. Sudarshan
作者: Nello Cristianini John Shawe-Taylor
参考读物推荐
作者: (印)普拉莫德 J. 塞得拉吉(Pramod J Sadalage), (美)马丁·福勒(Martin Fowler)著