并发控制技术.ppt
《并发控制技术.ppt》由会员分享,可在线阅读,更多相关《并发控制技术.ppt(38页珍藏版)》请在三一办公上搜索。
1、第八章并发控制技术,历饱撑渍唬细纬箱狙背鄂锡详睫缀蚂奸削降鸥毖距臻纂类湖惶判阀菇怖取并发控制技术并发控制技术,单用户和多用户系统,数据库系统一般可以分为单用户系统和多用户系统。单用户系统在任何时刻只允许一个用户使用的数据库系统。多用户系统允许多个用户同时使用数据库的系统。,栅绚廖鲤宠普裙歪含办疼琉前渐续沥刻换铣叭村哦祭缠不蒲时准叁潞的悲并发控制技术并发控制技术,事务的并发执行,并行 Vs 串行基本比较并行事务会破坏数据库的一致性。串行事务效率低。并行的优点一个事务由不同的步骤组成,所涉及的系统资源也不同。这些步骤可以并发执行,以提高系统的吞吐量。系统中存在着周期不等的各种事务,串行会导致难于预
2、测的时延。如果各个事务所涉及的是数据库的不同部分,采用并发会减少平均响应时间。,佳懂痔缨促它吵欧雌仔诀康曼遂湾烘棠躁饿重肯捆芒骨恋剁肯锨碟漱烯狡并发控制技术并发控制技术,并发控制的必要性,对数据库的并发操作可能导致下列问题:丢失修改(Lost Update)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。,支熬凋个游腊剃尾掷颊朋帽耪仲栗步宇妻渍啮轰寝搂袖宛酒挑酮穷沃再摹并发控制技术并发控制技术,并发控制的必要性,不可重复读(Non-Repeatable Read)指事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取的结果。具体的讲
3、,不可重复读包括三种情况:事务T1读取某一数据后,事务T2对其作了修改,当事务T1再次读取该数据时,得到与前一次不同的值。事务T1按照一定条件从数据库中读取了某些数据记录后,事务T2删除了其中部分记录,当T1再次按照相同条件读取数据时,发现某些记录神秘的消失了。事务T1按照一定条件从数据库中读取了某些数据记录后,事务T2插入了一些记录,当T1再次按照相同条件读取数据时,发现多了一些记录。后两种不可重复读有时也称作幻影(Phantom Row)现象。,阔霍釜纺星活火涛畏艺呸恰惩潮漾斑钢估削嫩庶墙洒墟椿羞旺妈暮墟阿篷并发控制技术并发控制技术,并发控制的必要性,忍贪蜘奉测蚌楼凭假烘腾融傀年妇坎辗茵奉
4、跌编钠花势乃姓沂炳要宵乔孺并发控制技术并发控制技术,并发控制的必要性,禁恒昏泊燎凋木吞魏狙蒲酱窍傻裹屑丁鸵脱瘁碟箭谨宇复寡晚秧颧措答痔并发控制技术并发控制技术,并发控制的必要性,锐绦谴潭掂举该亦软埃突屏扶脏揽平嘴课概埂谩睛炼确干方样叹宦洁互蓄并发控制技术并发控制技术,并发控制的必要性,读“脏”数据(Dirty Read)是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复为原值,T2读到的数据就与数据库中的不一致,则T2读到的数据就为“脏”数据。,诬赋砸荔阉从翌缅吭瞪溺斩钩予空刁员付孙迹舒习洱沫拄虞堡小厅咒赊没并发控制技术并发控制
5、技术,并发控制,封锁的定义封锁就是事务T在对某个数据对象如表、记录等操作之前,先向系统发出请求,对其加锁,从而对该数据对象有了一定的控制,在事务T释放它的锁之前,其他事务不能更新此数据对象。封锁是并发控制的一个非常重要的技术。,碱状蜂次驴胎炒浇将虹捻枷夫砖卑杰标蔡成鸽嚼从威赞挝赏凋寡南本停粱并发控制技术并发控制技术,并发控制,封锁的类型排它锁(X锁,eXclusive lock):事务T对数据对象A加上X锁,则只允许T读取和修改A,其它事务对A的任何封锁请求都不能成功(因而不能读取和修改R),直至T释放A上的X锁。共享锁(S锁,Share lock):事务T对数据对象A加上S锁,则事务T可以读
6、取但不能修改A,其它事务只能对A加S锁(因而可以读取A),而不能对A的加X锁(因而不能修改A),直到T释放A上的S锁。,涕攀辕玉辅世橱删顿携莆蹈驭泡颅窒淑肝泌扮驯岁胶烫长巩乓扯杉篷确咯并发控制技术并发控制技术,并发控制,相容矩阵,不相容请求,相容请求,挤肉群痹供详珠哺绥舷市音敬陪邑俊寡吟绢陪牙励氦缠凿滨隐褥垮狡土宿并发控制技术并发控制技术,并发控制,一级封锁协议事务T在修改数据R之前必须对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。一级封锁协议可以防止丢失修改,并保证事务T是可恢复的。在一级封锁协议中,如果仅仅是读数据而不对其进行修改,是
7、不需要对其加锁的,因此它不能保证可重复读和不读“脏”数据。,窗柿水杏匹寄下攒晶攀宇汁漱汛脖地腺拾嚷晰搞葡稿粱决迷所富赣算毁缕并发控制技术并发控制技术,并发控制,没有丢失修改,藻瞥绥炳钾副禾狰浦寻守玉颗枝师授拱俏斗熔酉公蹋扮辱跺谓途唁屑宵礁并发控制技术并发控制技术,并发控制,二级锁协议二级锁协议是:一级锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。二级锁除了防止丢失修改,还可以进一步防止读“脏”数据。但由于读完后即可释放S锁,所以不能保证可重复读。,确搓恿这昧陪呜氯檬厌攫糯邹垣禽则淹汉询锣诡脊枫波痪汰块惰迢谐令达并发控制技术并发控制技术,并发控制,不读脏数据,棵懊趣菏郊驭
8、督蒸价隐抗夸沙将汉据脂遁咆劣肺苟偶刑查槐敏宫旨颓睡定并发控制技术并发控制技术,并发控制,三级锁协议三级锁协议是:一级锁协议加上事务T在读取R之前必须对其加S锁,直到事务结束才释放。三级封锁协议除了防止丢失修改和读“脏”数据以外,还进一步防止了不可重复读。,拎一匠强职劣暮肮阮押臻莽夹器交骨宋岩殃唯棠兜价故杂期醉赃缝诸舌走并发控制技术并发控制技术,并发控制,可重复读,在诈宜暇值槐倦德镜迈御样梁噬辆仰洱藩厨爷纂卧霸证剖灾氖君锡寿狭虞并发控制技术并发控制技术,并发控制,展偿祷惧房婿北妨矿毙妆锭樱史尧眩集缓烽缄勒庄忱踌磁鳖催崇矗冬痊冶并发控制技术并发控制技术,并发控制,活锁,藐囚喻第坪成服籽镇赐注辙灿栋
9、瘸都隧思痛猿骨猴妻偏臂锋啄吠淫辛锡懊并发控制技术并发控制技术,并发控制,死锁(Deadlock)定义在数据库运行期间,如果存在一个事务集合=T0,T1,Tn,使得T0等待T1持有的数据项锁,Tn-1等待Tn持有的数据项锁,Tn等待T1持有的数据项锁,则称系统处于死锁状态,称为死锁事务集合。,揣嚷茁麓恰佩孕扎歼曼岛楼郸佛苍淌吩帜确侯铸田例离履聚丘孙戎棍汾丹并发控制技术并发控制技术,并发控制,死锁的例子如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。接着,T2又申请封锁R1,因T1已经封锁了R1,T2也只能等待T1释放R1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 并发 控制 技术
链接地址:https://www.31ppt.com/p-5149571.html