欢迎来到天天文库
浏览记录
ID:24867499
大小:485.50 KB
页数:110页
时间:2018-11-16
《分布式数据库中的并发控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、分布式数据库系统及其应用邓新国(xgdeng@fzu.edu.cn)2011年8月——2012年1月并发控制的概念和理论分布式数据库系统并发控制的封锁技术分布式数据库系统中的死锁处理分布式数据库系统并发控制的时标技术分布式数据库系统并发控制的多版本技术分布式数据库系统并发控制的乐观方法分布式数据库中的并发控制第5章通常,数据库总有若干个事务在运行,这些事务可能并发地存取相同的数据,称为事务的并发操作。当数据库中有多个事务并发执行时,系统必须对并发事务之间的相互作用加以控制,这是通过并发控制机制来实现的。并发控制就是负责正确协调并发事务的执行,保证这种并发的存取操作不
2、至于破坏数据库的完整性和一致性,确保并发执行的多个事务能够正确地运行并获得正确的结果。分布式数据库中的并发控制解决多个分布式事务对数据并发执行的正确性,保证数据库的完整性和一致性。比集中式并发控制更复杂。1.1并发控制的概念1并发控制的概念和理论集中式DB环境T1T2…TnDB(一致性约束)1.1并发控制的概念1并发控制的概念和理论分布式DB环境XYZT1T21.1并发控制的概念1并发控制的概念和理论多处理器CPU1CPU2T1T2Time1.1并发控制的概念1并发控制的概念和理论并发执行单处理器T1t1T2t2T1t3T2t4TimeCPU1.1并发控制的概念1并
3、发控制的概念和理论非并发执行UPDATEx70t6FINDxt2200t7UPDATExt5x:=x*2t4x:=x-30t3FINDxt1100t0更新事务T2数据库中X的值更新事务T1时间注:其中FIND表示从数据库中读值,UPDATE表示把值写回到数据库T1T2,结果140,T2T1,结果170,得到结果是200,显然是不对的,T1在t7丢失更新操作。1.1并发控制的概念1并发控制的概念和理论并发控制问题之一:丢失更新FINDxt270t5UPDATExt4x:=x-30t3FINDxt1100t0更新事务T2数据库中A的值更新事务T1时间注:在时间t5事务T
4、2仍认为x的值是1001.1并发控制的概念1并发控制的概念和理论并发控制问题之二:不一致分析100t6x:=x-10t2ROLLBACKt5FINDx90t4UPDATExt3FINDxt1100t0更新事务T2数据库中A的值更新事务T1时间注:事务T2依赖于事务T1的未完成更新1.1并发控制的概念1并发控制的概念和理论并发控制问题之三:依赖于未提交更新(读脏数据)事务TiTi={i,
5、x)1.2事务可串行化理论1并发控制的概念和理论操作符集读Ri(x)和写Wi(x)动作序列冲突动作R1(A)W2(A)W1(A)W2(A)R1(A)W2(A)一个调度事务的一个操作序列称为一个调度,一般用S表示比如,S:R1(x),R2(y),W2(y),R2(x),W1(x),W2(x)1.2事务可串行化理论1并发控制的概念和理论T1T21(T1)aX5(T2)cX2(T1)Xa+1006(T2)X2c3(T1)bY7(T2)dY4(T1)Yb+1008(T2)Y2d先序关系例子已知:站点1有数据X,站点2有数据Y约束:X=Y1.2事务可串行化理论
6、1并发控制的概念和理论(X站点)(Y站点)1(T1)aX2(T1)Xa+1005(T2)cX3(T1)bY6(T2)X2c4(T1)Yb+1007(T2)dY8(T2)Y2d初值:X=Y=0,结果:X=Y=200调度S1事务内事务间令T={T1,T2,…,Tn}是一组事务.T上的调度S是具有如下顺序关系7、某个事务的操作顺序必须保持与该事务原有的顺序相同串行调度一个事务的第一个动作是在另一个事务的最后一个动作完成后开始.即调度中事务的各个操作不会交叉,每个事务相继执行.一致性调度调度可以使得数据库从一个一致性状态转变为另一个一致性状态,则称调度为一致性调度1.2事务可串行化理论1并发控制的概念和理论调度等价S1与S2等价,也就是说,对于冲突操作,,Oi
7、某个事务的操作顺序必须保持与该事务原有的顺序相同串行调度一个事务的第一个动作是在另一个事务的最后一个动作完成后开始.即调度中事务的各个操作不会交叉,每个事务相继执行.一致性调度调度可以使得数据库从一个一致性状态转变为另一个一致性状态,则称调度为一致性调度1.2事务可串行化理论1并发控制的概念和理论调度等价S1与S2等价,也就是说,对于冲突操作,,Oi
此文档下载收益归作者所有