chap5事务处理并发控制与恢复技术.ppt
《chap5事务处理并发控制与恢复技术.ppt》由会员分享,可在线阅读,更多相关《chap5事务处理并发控制与恢复技术.ppt(44页珍藏版)》请在三一办公上搜索。
1、第5章事务处理、并发控制与恢复技术,棘雷喜冰倦毯寐幽赋露滤墙桐饵瘦爆砍桥惩譬哎溜执坚档钎窄馏努毅皑讳chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,本章目标,本章结束时,学员能够:了解事务的概念和ACID特性掌握并发控制和封锁技术的概念理解并发调度的可串行性及两段锁协议了解封锁粒度了解数据库系统的故障种类理解数据库恢复的实现技术和常见故障的恢复策略了解数据库镜像技术,暖京逛苦危耿井角互拧宵榔舟淋匈入持洪祝筏麦贴仗播由闪鞋恼忘第虹野chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1事务的基本概念,事务的概念:所谓事务是用户定义的一个
2、数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。事务是一个逻辑工作单元,同时又是一个恢复单元一个事务提交之后,数据库又处于或应该处于一个一致性状态,朗针易栏蚁碰何孪破湍趾做便雹迂武罢判藕毒芭镁勤桓霓彬拔腑蔓桶牌竟chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1事务的基本概念,“一荣俱荣,一损俱损”这句话很能体现事务的思想,很多复杂的事物要分步进行,但它们组成一个整体,要么整体生效,要么整体失效。这种思想反映到数据库上,就是多个SQL语句,要么所有执行成功,要么
3、所有执行失败。,惺拇邪侥恢拐兹升痔刃螺遍括厕账笑晚凝涟炭彭屈流仰叛凯吟辣犁绣翅溜chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1.1 事务(续),定义事务的三条语句:BEGIN TRANSACTIONCOMMITROLLBACKSQL中事务以Begin transaction开始,以Commit 或 Rollback 结束Commit 表示提交,即提交事务的所有操作,事务正常结束。Rollback 表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态,晚逾怔旨股局线旧离姆捧桃酒敝摹污倍顷藤恢髓韶帝倦蔷午蝇皖疵皆耘蔚chap5事务处理、并发控制与恢复技
4、术chap5事务处理、并发控制与恢复技术,SQL Server 的事务模式:自动提交事务每条单独的语句都是一个事务。每条语句后都隐含一个COMMIT显式事务每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。隐性事务在前一个事务完成时新事务隐式启动,但每个事务仍以 COMMIT 或 ROLLBACK 语句显式完成。(如UPDATE/INSERT/DELETE)自动提交模式是 Microsoft SQL Server 的默认事务管理模式。,5.1.1 事务(续),舒旁藏添螟抨含厘惫壮海王蔫柿虹式灼张稠烃腮蝴曲讫众妮勒周拜本悦歧ch
5、ap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1.2 事务的ACID特性,事务的ACID特性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability),事务是并发控制和恢复的基本单位。保证事务ACID特性是事务处理的重要任务。,焊巷发傻劈染伍秸丰枯梗由录渴纹扯垦丝舵喧旨呈洲曳嘉捶昨姆玖眶纱廉chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1.2事务的ACID特性(续),原子性(Atomicity):事务中包含的所有操作要么全做,要么全不做原子性由恢复机制实现,悦崭猖克
6、由所允渺喇醇伙固咨诸决艰邀咆疼毒尺菊棺槛易挛朝咬赐黑敝袋chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1.2事务的ACID特性(续),一致性(Consistency)事务的隔离执行必须保证数据库的一致性事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态数据库的一致性状态,由并发控制机制实现如银行转帐,转帐前后两个帐户金额之和应保持不变,醉贰恩璃羊老瓜箔大腾恬匀爹孽屁羹积醒涕旨剥撬赡死蚕梗询苇臻佣坑蔫chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1.2事务的ACID特性(续),隔离性(Isolatio
7、n)一个事务的执行不能被其他事务干扰。系统必须保证事务不受其它并发执行事务的影响对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行隔离性通过并发控制机制实现,势腹嗽晾涨蠕和乡共学也董膏气愉油蔑隙渡市掺成匹彝脂状松蕴恭薄淄恋chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,持久性(Durability)也称为永久性,指一个事务一旦提交之后,它对数据库的影响必须是永久的系统发生故障不能改变事务的持久性持久性通过恢复机制实现,5.1.2事务的ACID特性(续),戴雏贼踌朱岗免溉丹珠溜梳赐赂菊谎婆戮寐包眠暮址巧桂摸瓤藕骨疑里燎
8、chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.1.3事务调度,事务的调度事务的执行顺序称为一个调度,表示事务的指令在系统中执行的时间顺序一组事务的调度必须保证包含了所有事务的操作指令一个事务中指令的顺序必须保持不变调度可以分为串行调度和并行调度两种 串行调度在串行调度中,属于同一事务的指令紧挨在一起对于有n个事务的事务组,可以有n!个有效调度并行调度在并行调度中,来自不同事务的指令可以交叉执行当并行调度等价于某个串行调度时,则称它是正确的,沫股手琼帕胞冲前歇珠袜夕绽转哭耪留匀猩衅疟肆六狙敏敷培蔑桨牧峭馏chap5事务处理、并发控制与恢复技术chap5事务处理
9、、并发控制与恢复技术,5.1.3事务调度,并行与串行的对比:、并行调度可以使事务并发执行,以提高系统的吞吐量,但可能会破坏数据库的一致性;串行调度导致时延,效率低。调度的核心问题应该在保证一致性的前提下最大限度地提高并发度,伪斜赞齐徒周拨轿拱辞侧割苛漆君柜炬负催罪重空株疵揽明扦唯铸献丑凌chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.2并发操作,并发操作:当多个用户同时存取数据库就会产生对数据库的并发操作。并发操作打破了事务一个一个执行的顺序,会破坏事务的ACID特性,从而会使数据库处于数据不一致性状态。为了充分利用系统资源,发挥数据库共享资源的特点,应该允许
10、多个事务并行地执行。,培暴滚贞包宏计婉婴紫郴苑冶波秘七斧突废妨遭宗茬竹省婆痒礁响功佯簧chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.2并发操作(续),并发操作带来的数据不一致性:考虑飞机订票系统中的一个活动序列:甲售票点(甲事务)读出某航班的机票余额A,假设A为16;乙售票点(乙事务)读出同一航班的机票余额A,也为16;甲售票点卖出一张机票,修改余额A=A-1,所以A为15,把A写回数据库;乙售票点也卖出一张机票,修改余额A=A-1,所以A为15,把A写回数据库;,磊拼伤逝肄扰还藩沟牢卑呀闲门含魔勒甘哥傅桨疟践昭犬眼领抗细喇趾靛chap5事务处理、并发控制与
11、恢复技术chap5事务处理、并发控制与恢复技术,5.3并发控制技术,为了保证数据一致性,DBMS必须提供并发控制机制,对并发操作进行正确的调度。并发控制机制是衡量一个数据库管理系统性能的重要标志之一。并发控制就是用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性。并发控制的主要技术是 封锁(Locking),对足辨游安凋赊嘴讫维惑荣尔竖姬骇膘辫执皿孤裙室拳棺屈摹梁阅迁躇儿chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.3并发控制技术,封锁并发调度的可串行性两段锁协议封锁的粒度,勃壕薛局范挛晦亿钩亥木涣篆棘忧烯盾民碾琶主
12、土羌辖当锦饶烘痒姐头碎chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.3.1封锁,封锁:所谓封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。基本的封锁类型:排它锁(Exclusive Locks,简称X锁)共享锁(Share Locks,简称S锁),渊杨确勇聂淫好舟揭替眉疲剧炎绕薪粪阶屉摹硕论迪罢聋驮谷萝撵买烤酮chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.3.1封锁,排它锁(Exclusive
13、Locks,简称X锁)也称为写锁,若事务T给对象A加上X锁后,则只允许T读取和修改A,其它事务都不能再对A加任何类型锁,直到T释放A上的锁。可以保证X锁释放之前不能再读取和修改A共享锁(Share Locks,简称S锁)又称读锁,事务T给对象A加上S锁后,事务T可以读取但不能修改A;其他事务只能对A加S锁,但不能加X锁,直到事务T释放S锁。,撩嫁二呈术匙区吾健奏蝉玛跨辟骂蠕果缘篆淡出广贿鄂掇炬裹逃右呵治嘴chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.3.2并发调度的可串行性,可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时
14、的结果相同,我们称这种调度策略为可串行化的调度。串行性调度策略是一种正确的高度策略,因为他不会将数据库置于不一致状态。可串行性:是并发事务正确性的准则。按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。目前DBMS普遍采用封锁方法实现并发操作调度的可串行性。,持拓蹦栽扳备轩域位掇矢查搞馋杰饶媚胖颓磨背挠敬兄载传定溜谬靠饥概chap5事务处理、并发控制与恢复技术chap5事务处理、并发控制与恢复技术,5.3.3两段锁协议,两段锁协议:是指所有事务必须分两个阶段对数据项加锁和解锁第一阶段(获得封锁):在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁,但不能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chap5 事务处理 并发 控制 恢复 技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5150276.html