小组成员周鸿玲彭晓静石子言.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小组成员:周鸿玲 彭晓静 石子言 ;并发控制的概念和理论 分布式数据库系统并发控制的封锁技术 分布式数据库系统中的死锁处理 分布式数据库系统并发控制的时标技术 分布式数据库系统并发控制的多版本技术 分布式数据库系统并发控制的乐观方法 英文讲稿transaction ;分布式数据库中的并发控制;图5.1(a)在时间t7丢失了事务T1的更新 注:FIND表示从数据库中读值 UPDATE表示把值写回到数据库 ;2.不一致分析问题(不可重读) ;3.依赖于未提交更新的问题(读脏数据) ; T1 T2 … Tn;分布式DB环境;5.1.2事务可串行化理论的基本概念; 集中式数据库中所给出的操作冲突的定义,两个同时访问同一数据项x的操作,如果其中至少有一个是写操作,那么称这两个操作是冲突的。 注意两点: 一.读操作不相互冲突,因此只有两种冲突: 读-写冲突(???写-读冲突),及写-写冲突。 二.两个操作可以属于同一事务或者两个不同的事 务,在后者的情况下,称为两个事务冲突。 如果有两个事务Ti和Tj,Ti 的所有操作都先于Tj 的操作,那么这两个事务为串行执行的,必定不 会有冲突。 ; 2.串行调度 设有一组事务T={T1,T2, · · · Tn},如果事务Ti的所有操作都先于事务Tj的操作,记为TiTj。若一个调度S,其每个事务的执行均有TiTj,对所有的i≠j,记为S={· · ·TiTj· · ·}称S是一个串行调度。 对一个串行调度来说,它总是可以正确的执行,执行它可以使数据库保持一致状态。因为: 1)如果S正确执行完成,则S中的每一个事务都被提交,由于事务的原子性,保证了数据库的一致性。 2)如果S在执行时发生故障,若Tk之前的事务都已提交,则夭折Tk,使数据库的状态恢复到Tk前的状态。 该数据库也是一致的,因为Tk之前的事务都已提交。 3)如果S在执行时发生故障,若Tk之前的事务有被夭; 折的,则夭折Tk,重做Tk以前已被提交的事务,撤销Tk以前被夭折的事务,此时数据库也是一致的。 3.可串行化调度 串行调度对不会引起冲突的操作要求过高。如果两个操作之间有冲突,这两个操作的执行顺序就很重要;可见事务的并发控制主要是正确处理并发执行的事务对数据库的冲突操作。 串行化调度,是让有冲突的操作串行执行,非冲突的操作并行执行。 5.1.3分布式事务的可串行化理论 1.事务 一个事务是一个偏序集:Ti={∑i,∠i},其中:1)∑i是操作符集合,包含{Ri[x],Wi[x]/x为 数据项} ∪{Ai,Ci}; ; 2)Ai或Ci是∑i中的最后一个操作符,且只能出现 其中之一个; Ai为撤销(abort),Ci为提交(commit);3)如果Ri[x],Wi[x] ∈ ∑i则它们必满足Ri[x] ∠iWi[x]或Wi[x ] ∠i Ri[x] 4) Ri[x], Wi[x],Ai,Ci或公式的每一个都是事务Ti操作符序列中的一个操作。 简单的说事物是一个读和写操作的序列 2.冲突操作 如果有两个操作P和Q对同一数据x进行操作,其中有一个是写操作W[x]则P和Q称为冲突操作。 r1(A) w2(A) w1(A) w2(A) r1(A) w2(A) ;3.并发事务的一个调度(简称并发调度) 如果T={T1,T2, · · · Tn}是一组并发执行事务,S是它的一个调度,则S={∑T,∠T} 简单的说调度就是事务操作的执行序列 其中: 1) 2) 3)对任意两个冲突操作P,Q∈ S, 则有PQ ,或者QP。 一组事务的调度必须包含这些事务的所有操作 调度中某个事务的操作顺序必须保持与该事务原有的顺序相同 ; 4.串行调度 如果一个调度S中的任意两个事务Ti和Tj,i≠j,若 则称调度S为串行调度。即一个调度中不同事务的各个操作不会互相交叉,每个事务是相继执行的。 简单的理解就是一个事务的第一个操作是在另一个 事务的最后一个操作完成后开始. 即调度中事务的 各个操作不会交叉, 每个事务相继执行. 5.一致性调度 如果执行一个调度S,使数据库从一个一致状态变到另一个一致状态,则称调度S为一致性调度。显然,串行调度是

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档