小组成员周鸿玲彭晓静石子言.ppt
《小组成员周鸿玲彭晓静石子言.ppt》由会员分享,可在线阅读,更多相关《小组成员周鸿玲彭晓静石子言.ppt(48页珍藏版)》请在三一办公上搜索。
1、小组成员:周鸿玲 彭晓静 石子言,分布式数据库中的并发控制,并发控制的概念和理论分布式数据库系统并发控制的封锁技术分布式数据库系统中的死锁处理分布式数据库系统并发控制的时标技术分布式数据库系统并发控制的多版本技术分布式数据库系统并发控制的乐观方法英文讲稿transaction,分布式数据库中的并发控制,5.1.1 并发控制的概念:通常情况下在数据库中,总有若干个事务在运行,这些事务可能并发地存取相同的数据,称为事务的并发操作。分布式DBMS事务管理器的基本任务之一是执行分布式事务的并发控制。事务的并发操作提高了系统的运行效率,但也带来了一些问题,主要有以下三种:,图5.1(a)在时间t7丢失了
2、事务T1的更新注:FIND表示从数据库中读值 UPDATE表示把值写回到数据库,1.丢失更新问题,2.不一致分析问题(不可重读),图5.1(b)在t5时刻,事务T2仍认为x的值是100,3.依赖于未提交更新的问题(读脏数据),图5.1(c)事务T2依赖于事务T1的未完成更新,T1T2Tn,集中式DB环境,DB(一致性约束),分布式DB环境,X,Y,Z,T1,T2,5.1.2事务可串行化理论的基本概念,事务的可串行性是指若干个事务并发执行的结果与按希望的顺序执行的结果相同时,称诸事务是可串行的。1.分布式事务的一个调度 通常,以Ti表示某个事务,以Ri(x)表示i事务对数据项x的读操作,以Wi(
3、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 的操作,那么这两
4、个事务为串行执行的,必定不 会有冲突。,2.串行调度 设有一组事务T=T1,T2,Tn,如果事务Ti的所有操作都先于事务Tj的操作,记为TiTj。若一个调度S,其每个事务的执行均有TiTj,对所有的ij,记为S=TiTj 称S是一个串行调度。对一个串行调度来说,它总是可以正确的执行,执行它可以使数据库保持一致状态。因为:1)如果S正确执行完成,则S中的每一个事务都被提交,由于事务的原子性,保证了数据库的一致性。2)如果S在执行时发生故障,若Tk之前的事务都已提交,则夭折Tk,使数据库的状态恢复到Tk前的状态。该数据库也是一致的,因为Tk之前的事务都已提交。3)如果S在执行时发生故障,若Tk之前
5、的事务有被夭,折的,则夭折Tk,重做Tk以前已被提交的事务,撤销Tk以前被夭折的事务,此时数据库也是一致的。3.可串行化调度 串行调度对不会引起冲突的操作要求过高。如果两个操作之间有冲突,这两个操作的执行顺序就很重要;可见事务的并发控制主要是正确处理并发执行的事务对数据库的冲突操作。串行化调度,是让有冲突的操作串行执行,非冲突的操作并行执行。5.1.3分布式事务的可串行化理论 1.事务 一个事务是一个偏序集:Ti=i,i,其中:1)i是操作符集合,包含Rix,Wix/x为 数据项 Ai,Ci;,2)Ai或Ci是i中的最后一个操作符,且只能出现 其中之一个;Ai为撤销(abort),Ci为提交(
6、commit);3)如果Rix,Wix i则它们必满足Rix iWix或Wix i Rix 4)Rix,Wix,Ai,Ci或公式的每一个都是事务Ti操作符序列中的一个操作。简单的说事物是一个读和写操作的序列2.冲突操作 如果有两个操作P和Q对同一数据x进行操作,其中有一个是写操作Wx则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,则有PP。一组事务的调度必须包含这些
7、事务的所有操作调度中某个事务的操作顺序必须保持与该事务原有的顺序相同,4.串行调度如果一个调度S中的任意两个事务Ti和Tj,ij,若则称调度S为串行调度。即一个调度中不同事务的各个操作不会互相交叉,每个事务是相继执行的。简单的理解就是一个事务的第一个操作是在另一个事务的最后一个操作完成后开始.即调度中事务的各个操作不会交叉,每个事务相继执行.5.一致性调度 如果执行一个调度S,使数据库从一个一致状态变到另一个一致状态,则称调度S为一致性调度。显然,串行调度是一致性调度。,6.两个调度等价(冲突等价)两个调度S1和S2是等价的充分条件是:对于两个有冲突的操作Oi和Oj,若:Oi,OjS1,且Oi
8、Oj,则Oi,Oj S2,且也有OiOj7.可串行化调度 与串行调度等价的调度称为可串行化调度。例5.1 考虑两个事务,分别定义为 T1:Read(x)T2:Read(x)xx+10 xx-20 Write(x)Write(x)Read(y)Read(y)y y-15 y y*2 Write(y)Write(y)Commit Commit,对于这两个事务,可产生如下五种调度:,如果将事务提交延迟到两事务操作完成之后执行,那么就有1)调度S1和S4是串行调度,也是一致性调度;2)调度S2和S1的冲突操作具有相同的序,因此也是等价调度;S2是可串行化调度也是一致调度;,3)调度S3虽是一个一致调度
9、,但它不与S1或S4等 价,所以S3不是可串行化调度;4)调度S5和S4等价,所以S5是一致调度,也是可 串行化调度。由此可见:1)同一事务集上的可串行化调度,结果未必相同;S5和S22)一个可串行化调度必定与某个串行调度等价,且 是一致调度;3)一致调度不一定是可串行化调度;S34)同一事务集的几个可串行化调度,它们的结果未 必相同。,5.1.4 分布式事务的可串行化调度 1.使用优先图判别可串行化调度 算法5.1测试调度S的可串行化1)对于调度S中的事务T1,在图中创建一个节点T1。2)对于每一种这样的情形:如果S中在Ti执行了W(x)操作后执行Tj的R(x)操作,那么在优先图中创建一条边
10、(Ti-Tj)。3)对于每一种这样的情形:如果S中在Ti执行了R(x)操作后执行Tj的W(x)操作,那么在优先图中创建一条边(Ti-Tj)。4)对于每一种这样的情形:如果S中在Ti执行了W(x)操作后执行Tj的W(x)操作,那么在优先图中创建一条边(Ti-Tj)5)当且仅当优先图中没有环路时,调度S是可串行化的。,2.分布式数据库中可串行化理论的扩展可串性理论可以直接扩展到无重复副本的分布式数据库中。事务在每个站点上的执行调度称作局部调度如果数据库无重复副本的分布式数据库,并且每个局部调度都是可串调度,只要这些局部调度的序一致,则它们的并(全局调度)也是可串调度3.单副本可串行化一个单副本可串
11、行化的全局调度必须满足以下条件:1)每一个局部调度必须是可串行化的2)两个冲突操作在他们同时出现的各个局部调度中,必须具有相同的相对顺序。,4.读一个/写全部副本控制协议 对逻辑数据项x上的一个读操作,只映射到x的某个物理数据项xj上,而对逻辑数据项x的写操作,则映射到x的物理数据项的全集上,此协议通常称为“读一个/写全部”(ROWA)协议5.1.5并发控制机制的常用方法及其分类 1.使用协议或规则保证调度是可串行化的 常用的协议有:两阶段封锁协议,它基于的是对数据项进行封锁,以阻止并发事务受到其他 事务的干扰,2.并发控制机制常用的方法及其分类 并发控制机制划分为两种类型:悲观并发控制法和乐
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小组 成员 周鸿玲彭晓静 石子

链接地址:https://www.31ppt.com/p-5492502.html