- 3
- 0
- 约1.02万字
- 约 55页
- 2018-09-14 发布于上海
- 举报
数据库技术国防科学技术大学8#¥第八章事务管理
事物管理的基本概念 1. 什么是事务 1)定义:包含数据库操作的程序的一次执行称为一个数据库事务。 2)用户定义事务的粒度(程序的规模)。 3)例子: 一段嵌入了数据操作语言的应用程序, 上述程序的若干独立、并发的执行体, 单个的数据库操作等 。 典型事务,如银行转帐:帐户A – 100元;帐户B + 100元。事务开始事务结束交付部分交付交付活跃撤消读写操作终止撤消事务的起点事务的终点2. 基本操作与状态1)事务开始:开始执行。2)事务读写:进行数据库操作。3)事务结束:完成所有操作。4)事务交付:完成所有操作,并保存所有结果。5)事务撤消:执行途中出现异常,系统或用户撤消事务。3. 系统赋予事务的特性 为了保证事务并发、有效、正确地执行,保证数据库的正确性,系统必须赋予事务一些特性,而对一般的程序的执行,系统不一定赋予这些 特性。1)原子性(Atomicity):事务的所有操作或全部完成,或全部不作。原子性在于保证正确性。如银行转帐,取款机。2)持久性(Durability):保证已交付事务的结果不丢失,且与以后的故障无关。3. 系统赋予事务的特性 为了保证事务并发、有效、正确地执行,保证数据库的正确性,系统必须赋予事务一些特性,而对一般的程序的执行,系统不一定赋予这些 特性。3)隔离性(Isolation):任何事务不能访问到其他未交付事务的中间结果,防止多米诺效应。4)一致性(Consistency),可串性(Serializability):多个事务并发执行与它们的某一串行执行的结果等价。 DBMS用并发控制机制维持可串性, 用恢复机制维持原子性、持久性、隔离性。例子:A、B、C三个帐户,初始资金分别为:200, 300,150,有两个转帐事务:T1,从B转帐100到C,T2,从B转帐 50到A, T1 T2 A B C Σ 读B=300计算B-100 200 300 150 650 读B=300 计算B - 50 200 300 150 650 写B=200 读C=150 200 200 150 550 写B=250 读A=200 200 250 150 600 计算C+100 200 250 150 600 计算A+50 写C=250 200 250 250 700 写A=250 250 250 250 7501)不可重读:事务T读X; 事务T修改X为X’; 事务T读X(实为X’);ABA2)污读(Dirty read): 事务T修改X为X’; 事务T读X(实为X’); 事务T被撤消,X’退回到X;ABA 尽管单个事务单独执行不破坏DB完整性,但它们并发执行时,如不加以适当控制,可能产生如下问题: 1.并发不当的问题:并发控制性3)丢失修改(Lost updates): 事务TA修改X为X’; 事务TB修改X为X” 事务TA(TB)被撤消,造成事务TB(TA)的修改丢失;例子:航空订票事务。 动作1:找出一张未出售的座位票; 动作2:在其上登记已售标记、订票人; 两个订票事务TA、TB并发订票: TA动作1,找出一张未出售的座位票:; TB动作1,找出一张未出售的座位票:; TA动作2,在票上登记已售标记、订票人张三; TB动作2,在票上登记已售标记、订票人李四;2. 可串行化调度1)调度:对多个事务的操作的执行次序的一种安排。 设有事务, T1: R1(x)W1(y) T2: R2(x)W2(x) T3: R3(y)W3(y)串行调度:T1T2T3 S1:R1(x)W1(y) R2(x)W2(x) R3(y)W3(y)并发调度: S2:R2(x)R1(x)W1(y)R3(y)W2(x)W3(y)串行调度每一个事务的操作连续执行、各事务之间的操作没有任何重叠的调度称为串行调度。例如:S2∶Ri(x)Wi(y)Ri(y)Rj(x)Wj(y)Rk(x)Wk(x)串行执行从不会使数据库最后处于不一致状态,因此,所有的串行调度都被认为是正确的保持一致性。 串行调度每一个事务的操作连续执行、各事务之间的操作没有任何重叠的调度称为串行调度。例如:S2∶Ri(x)Wi(y)Ri(y)Rj(x)Wj(y)Rk(x)Wk(x)串行执行从不会使数据库最后处于不一致状态,因此,所有的串行调度都被认为是正确的保持一致性。 2. 可串行化调度并发控制机构旨在尽可能提高事务并发度的同时,使得它们的并发执行保持数据库的一致性。并发控制机构一般通过强制某些事务在执行它们的特定操作之前处于等待状态,或通过异常结束和重启事务来限制事务执行的可能操作序列,使该过程等价于串行调度。为此,需要一些方法来判定并发执行的事务调度是否等价于一个串行调度。凡能够产生
您可能关注的文档
最近下载
- 卧式储罐体积容积计算(带公式).xls VIP
- 深度解析(2026)《SYT 5661-2019钻井液用增粘剂 丙烯酰胺类聚合物》.pptx VIP
- SY_T 5061-2020 钻井液用石灰石粉.docx VIP
- 深度解析(2026)《SYT 5677-2019钻井液用滤纸》.pptx VIP
- ICU常用药物中英文对照一览表.doc VIP
- 心血管常用名词缩写和心血管常用药物英汉对照.pdf VIP
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套).doc VIP
- 深度解析(2026)SYT 5794-2010《钻井液用沥青类评价方法》:从标准解读到未来油田化学智能化应用的战略前瞻.pptx VIP
- 2025-2030中国化学镀镍行业市场发展趋势与前景展望战略研究报告.docx
- 深度解析(2026)《SYT 7377-2017钻井液设计规范》.pptx VIP
原创力文档

文档评论(0)