chap5-事务处理、并发控制与恢复技术

chap5-事务处理、并发控制与恢复技术

ID:39962752

大小:960.81 KB

页数:44页

时间:2019-07-16

chap5-事务处理、并发控制与恢复技术_第1页
chap5-事务处理、并发控制与恢复技术_第2页
chap5-事务处理、并发控制与恢复技术_第3页
chap5-事务处理、并发控制与恢复技术_第4页
chap5-事务处理、并发控制与恢复技术_第5页
资源描述:

《chap5-事务处理、并发控制与恢复技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章 事务处理、并发控制与恢复技术本章目标本章结束时,学员能够:了解事务的概念和ACID特性掌握并发控制和封锁技术的概念理解并发调度的可串行性及两段锁协议了解封锁粒度了解数据库系统的故障种类理解数据库恢复的实现技术和常见故障的恢复策略了解数据库镜像技术5.1事务的基本概念事务的概念:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。事务是一个逻辑工作单元,同时又是一个恢复单元一个事务提交之后,数据库又处于或应该处于一

2、个一致性状态5.1事务的基本概念“一荣俱荣,一损俱损”这句话很能体现事务的思想,很多复杂的事物要分步进行,但它们组成一个整体,要么整体生效,要么整体失效。这种思想反映到数据库上,就是多个SQL语句,要么所有执行成功,要么所有执行失败。5.1.1事务(续)定义事务的三条语句:BEGINTRANSACTIONCOMMITROLLBACKSQL中事务以Begintransaction开始,以Commit或Rollback结束Commit表示提交,即提交事务的所有操作,事务正常结束。Rollback表示事务非正常结束,撤消事务已做的操作,回滚到事

3、务开始时状态SQLServer的事务模式:自动提交事务每条单独的语句都是一个事务。每条语句后都隐含一个COMMIT显式事务每个事务均以BEGINTRANSACTION语句显式开始,以COMMIT或ROLLBACK语句显式结束。隐性事务在前一个事务完成时新事务隐式启动,但每个事务仍以COMMIT或ROLLBACK语句显式完成。(如UPDATE/INSERT/DELETE)自动提交模式是MicrosoftSQLServer的默认事务管理模式。5.1.1事务(续)5.1.2事务的ACID特性事务的ACID特性:原子性(Atomicity)一致性

4、(Consistency)隔离性(Isolation)持续性(Durability)事务是并发控制和恢复的基本单位。保证事务ACID特性是事务处理的重要任务。5.1.2事务的ACID特性(续)原子性(Atomicity):事务中包含的所有操作要么全做,要么全不做原子性由恢复机制实现5.1.2事务的ACID特性(续)一致性(Consistency)事务的隔离执行必须保证数据库的一致性事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态数据库的一致性状态,由并发控制机制实现如银行转帐,转帐前后两个帐户金额之和应保持不变5

5、.1.2事务的ACID特性(续)隔离性(Isolation)一个事务的执行不能被其他事务干扰。系统必须保证事务不受其它并发执行事务的影响对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行隔离性通过并发控制机制实现持久性(Durability)也称为永久性,指一个事务一旦提交之后,它对数据库的影响必须是永久的系统发生故障不能改变事务的持久性持久性通过恢复机制实现5.1.2事务的ACID特性(续)5.1.3事务调度事务的调度事务的执行顺序称为一个调度,表示事务的指令在系统中执行的时间顺序一组事务

6、的调度必须保证包含了所有事务的操作指令一个事务中指令的顺序必须保持不变调度可以分为串行调度和并行调度两种串行调度在串行调度中,属于同一事务的指令紧挨在一起对于有n个事务的事务组,可以有n!个有效调度并行调度在并行调度中,来自不同事务的指令可以交叉执行当并行调度等价于某个串行调度时,则称它是正确的5.1.3事务调度并行与串行的对比:、并行调度可以使事务并发执行,以提高系统的吞吐量,但可能会破坏数据库的一致性;串行调度导致时延,效率低。调度的核心问题应该在保证一致性的前提下最大限度地提高并发度5.2并发操作并发操作:当多个用户同时存取数据库就

7、会产生对数据库的并发操作。并发操作打破了事务一个一个执行的顺序,会破坏事务的ACID特性,从而会使数据库处于数据不一致性状态。为了充分利用系统资源,发挥数据库共享资源的特点,应该允许多个事务并行地执行。5.2并发操作(续)并发操作带来的数据不一致性:考虑飞机订票系统中的一个活动序列:甲售票点(甲事务)读出某航班的机票余额A,假设A为16;乙售票点(乙事务)读出同一航班的机票余额A,也为16;甲售票点卖出一张机票,修改余额A=A-1,所以A为15,把A写回数据库;乙售票点也卖出一张机票,修改余额A=A-1,所以A为15,把A写回数据库;5.

8、3并发控制技术为了保证数据一致性,DBMS必须提供并发控制机制,对并发操作进行正确的调度。并发控制机制是衡量一个数据库管理系统性能的重要标志之一。并发控制就是用正确的方式调度并发操作,使一个用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。