河南财经学院 Henan University of Fit nance an Id Economics 分布式数据库系统及其应用 崔明义 (mycu369@126cm) 计算机应用技术2007级研究生
崔明义 (mycui369@126.com) 计算机应用技术2007级研究生
第5章分布式数据库中的并发控制 1.并发控制的概念和理论 2.分布式教据库糸统并发控制的封锁技术 3.分布式教据庠糸统中的死锁处理 4.分布式数据库糸统并发控制的时标技术 5.分布式教据库亲钪并发控制的多版本技术 6.分布式教据库糸统并发控制的乐观方法
1. 并发控制的概念和理论 2. 分布式数据库系统并发控制的封锁技术 3. 分布式数据库系统中的死锁处理 4. 分布式数据库系统并发控制的时标技术 5. 分布式数据库系统并发控制的多版本技术 6. 分布式数据库系统并发控制的乐观方法 第5章 分布式数据库中的并发控制
1并发控制的概念和理论 11并发控制的概念 通常,数据库总有若干个事务在运行,这些事务可能 并发地存取相同的数据,称为事务的并发操作。 当数据库中有多个事务并发执行时,系统必须对并发 事务之间的相互作用加以控制,这是通过并发控制机 制来实现的 并发控制就是负责正确协调并发事务的执行,保证这 种并发的存取操作不至于破坏数据库的完整性和一致 性,确保并发执行的多个事务能够正确地运行并获得 正确的结果 分布式数据库中的并发控制解决多个分布式事务对数 据并发执行的正确性,保证数据库的完整性和一致性 比集中式并发控制更复杂
• 通常,数据库总有若干个事务在运行,这些事务可能 并发地存取相同的数据,称为事务的并发操作。 • 当数据库中有多个事务并发执行时,系统必须对并发 事务之间的相互作用加以控制,这是通过并发控制机 制来实现的。 • 并发控制就是负责正确协调并发事务的执行,保证这 种并发的存取操作不至于破坏数据库的完整性和一致 性,确保并发执行的多个事务能够正确地运行并获得 正确的结果。 • 分布式数据库中的并发控制解决多个分布式事务对数 据并发执行的正确性,保证数据库的完整性和一致性。 比集中式并发控制更复杂。 1.1 并发控制的概念 1 并发控制的概念和理论
1并发控制的概念和理论 11并发控制的概念 TI T DB (一致性 约束) 集中式DB环境
集中式DB环境 T1 T2 … Tn DB (一致性 约束) 1.1 并发控制的概念 1 并发控制的概念和理论
1并发控制的概念和理论 11并发控制的概念 T1 Z 分布式DB环境
分布式DB环境 X Y Z T1 T2 1.1 并发控制的概念 1 并发控制的概念和理论
1并发控制的概念和理论 11并发控制的概念 并发执行 多处理器 CPU1 CPU2 T2 Time
• 多处理器 CPU1 CPU2 T1 T2 Time 1.1 并发控制的概念 1 并发控制的概念和理论 并发执行
1并发控制的概念和理论 11并发控制的概念 非并发执行 单处理器 T2 T1 T2 CPU Time t2 t3
• 单处理器 T1 t1 T2 t2 T1 t3 T2 t4 Time CPU 1.1 并发控制的概念 1 并发控制的概念和理论 非并发执行
1并发控制的概念和理论 11并发控制的概念 并发控制问题之一:丢失更新 时间更新事务T1数据库中X的值更新事务T2 100 FIND X FIND X X:=X-30 X.x*2 UPDATE X 70 UPDATE X 200 注:其中FND表示从数据库中读值, UPDATE表示把值写回到数据库 T1T2,结果140,T2T1,结果170, 得到结果是200,显然是不对的,T1在t丢失更新操作
t6 70 UPDATE x t2 FIND x t7 200 t5 UPDATE x t4 x:=x*2 t3 x:=x-30 t1 FIND x t0 100 时间 更新事务T1 数据库中X的值 更新事务T2 注:其中FIND表示从数据库中读值,UPDATE表示把值写回到数据库 T1T2,结果140,T2T1,结果170, 得到结果是200,显然是不对的,T1在t7丢失更新操作。 1.1 并发控制的概念 1 并发控制的概念和理论 并发控制问题之一:丢失更新
1并发控制的概念和理论 11并发控制的概念 并发控制问题之二:不一致分析 时间更新事务T1数据库中A的值更新事务T2 100 FINDX FINDX X:=X-30 UPDATE X 70 注:在时间t5事务T2仍认为x的值是100
t2 FIND x t5 70 t4 UPDATE x t3 x:=x-30 t1 FIND x t0 100 时间 更新事务T1 数据库中A的值 更新事务T2 注:在时间t5事务T2仍认为x的值是100 1.1 并发控制的概念 1 并发控制的概念和理论 并发控制问题之二:不一致分析
1并发控制的概念和理论 11并发控制的概念 并发控制问题之三:依赖于未提交更新(读脏数据) 时间更新事务T1数据库中A的值更新事务T2 100 4—乌与 FIND X 10 UPDATE X 90 FIND X ROLLBACK 100 注:事务T2依赖于事务T1的未完成更新
t6 100 t2 x:=x-10 t5 ROLLBACK t4 90 FIND x t3 UPDATE x t1 FIND x t0 100 时间 更新事务T1 数据库中A的值 更新事务T2 注: 事务T2依赖于事务T1的未完成更新 1.1 并发控制的概念 1 并发控制的概念和理论 并发控制问题之三:依赖于未提交更新(读脏数据)