- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布式数据库中的并发控制-Read.ppt
分布式数据库中的并发控制 小组成员:周鸿玲 彭晓静 石子言 并发控制的概念和理论 分布式数据库系统并发控制的封锁技术 分布式数据库系统中的死锁处理 分布式数据库系统并发控制的时标技术 分布式数据库系统并发控制的多版本技术 分布式数据库系统并发控制的乐观方法 英文讲稿transaction 分布式数据库中的并发控制 5.1.1 并发控制的概念: 通常情况下在数据库中,总有若干个事务在运行,这些事务可能并发地存取相同的数据,称为事务的并发操作。 分布式DBMS事务管理器的基本任务之一是执行分布式事务的并发控制。 事务的并发操作提高了系统的运行效率,但也带来了一些问题,主要有以下三种: 图5.1(a)在时间t7丢失了事务T1的更新 注:FIND表示从数据库中读值 UPDATE表示把值写回到数据库 2.不一致分析问题(不可重读) 3.依赖于未提交更新的问题(读脏数据) 集中式DB环境 5.1.2事务可串行化理论的基本概念 事务的可串行性是指若干个事务并发执行的结果与按希望的顺序执行的结果相同时,称诸事务是可串行的。 1.分布式事务的一个调度 通常,以Ti表示某个事务,以Ri(x)表示i事务对数据项x的读操作,以Wi(x)表示i事务对数据项x的写操作.事务的一个操作序列称为一个调度(schedule或history),一般以字母S表示。 例如:S: R1(x) R2(y) W2(y) R2(x)W1(x) W2(x) S 是关于两个事务T1,T2的一个调度 集中式数据库中所给出的操作冲突的定义,两个同时访问同一数据项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) w
文档评论(0)