数据库并发控制_第1页
数据库并发控制_第2页
数据库并发控制_第3页
数据库并发控制_第4页
数据库并发控制_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库并发控制技术10:00,A订票点读出航班目前的机票余额数,设为10张10:02,B订票点读出航班目前的机票余额数,也为10张10:05,A订票点订出6张机票,修改机票余额为10-6=4,并将4写回到数据库中10:06,B订票点订出5张机票,修改机票余额为10-5=5,并将5写回到数据库中事务事务是数据库处理的一个逻辑工作单元,它由用户定义的一个或多个访问数据库的操作组成,这些操作一般一般包括检索(读)、插入(写)、删除和修改数据。一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。如果事务中的数据库操作仅涉及数据的检索,而不更新数据库,那么这样的事务就称为只读事务;否则,称为读写事务。描述事务处理概念的数据库模型一条数据库记录整个磁盘块某个记录的字段(属性)值数据项的粒度------数据项的大小-------命名数据项的集合数据库访问操作Read_item(X):将数据库项X读取到程序变量Write_item(X):将程序变量的值写入数据库项X中两个事务的示例T1read_item(X);X:=X-N;Write_item(X);Read_item(Y);Y:=Y-N;Write_item(Y)T2Read_item(X);X:=X+M;Write_item(X)事务的特性原子性一致性隔离性持久性事务状态和附加操作BEGIN_TRANSACTIONREAD或WRITEEND_TRANSACTIONCOMMIT_TRANSACTIONROLLBACK(ABORT)活动开始事务结束事务部分提交提交部分提交失败撤销终止读、写撤销事务执行状态的状态转换图调度 n个事务T1,T2,…TN的调度S,是这些事务的操作的一个执行顺序。来自不同事务的操作可以在调度S中交替执行。但是,对于参与调度S的事务Ti,Ti出现在调度中S中的操作,必须与它们在Ti中出现的顺序一致,也就是说S中的操作必须是全序的。操作冲突的条件属于不同的事务访问同一数据项至少有一个操作是write_item(X)并发控制的概念数据库中的数据是可以共享的资源,因此会有很多用户同时使用数据库中的数据。也就是说,在多用户系统中,可能同时运行着多个事务,而事务的运行需要时间,并且事务中的操作需要在一定的数据上完成。当系统中同时有多个事务运行时,特别是当这些事务使用同一段数据时,彼此之间就有可能产生相互干扰。并发控制通过对并发操作进行正确的调度保证事务的ACID特性。并发控制的必要性更新丢失暂时更新(脏读)错误求和不可重复读项X的值是错误的,因为T1对它的更新丢失了事务T1因故障而必须将X值改变回其旧值,但T2已经读取了X的错误值T3在X减去N之后抚读X,而在Y加N之前辩读Y;因咳此产弟生了壮错误英的求扬和结手果并发腐控制醋的加故锁技脾术二进眼制锁共享/排他惨锁(砍读/写锁肚)二进集制锁一个既二进遭制锁养可以秆有两钢个状省态或洋值:苗已加侄锁和系未加腔锁(迎或简拿化记球为1和0)。丧每个扭数据睛项X都与慕一个响不同冶的锁伐相关江联。Lo险ck房诚_i危te后m(犹X)un搅lo栗ck燥_i悼te膊m(哈X)图二进步制锁奖的加员锁和勒解锁刑操作二进烫制锁拒的实打现二进里制变管量LO婚CK关联岭于数担据库特中的虎每个好数据色项X包含柏三个乔字段茂的记穿录<D腾at委a_亿it敌em屋_n漏am凤e,业L葱OC迅K,间l渔oc拴ki俯ng锄_t洞ra值ns第ac拼ti吸on唉>队列齿存放罩等待辫访问亡该项球的事砌务系统短维护村锁表雷,仅邪存放雅当前薄已加源锁的修数据援项的觉相应布记录规则事务T在执登行其萌任何re淡ad蓝_i沃te辞m(鞭X)或wr户it委e_驴it毙em惩(X疑)操作欧之前仔,必须须先柏发出择一个lo虹ck璃_i延te质m(诱X)操作事务T中所只有re比ad局_i盗te花m(止X)和wr旬it绞e_温it娘em护(X猛)操作追执行驳完之秆后,芝都必疤须发焦出一丸个un殃lo双ck与_i张te酷m(用X)操作共享/排他保(读/写)庄锁Re灵ad油_l篮oc盯k(居X)Wr龄it默e_唉lo举ck户(X币)解锁滤(释伏放)其:Un销lo沟ck散(X划)图共格享/排他纷的加汪锁和酿解锁眯操作共享/排他棚锁的销实现包含喊四个狮字段扔的记朴录<D志at桌a_匆it昆em报_n役am奏e,片L盆OC趴K,四N劳o_咸of树_r郊ea洞ds隐,耐l俱oc盲ki触ng创_t急ra滴ns山ac消ti认on始>变量LO雷CK关联变于数棉据库啄中的辨每个斑数据馒项X,存放侍读锁离定/写锁语定/未锁郑定相株应的逗编码Lo孩ck券in闹g_武tr端an泼sa坑ct挎io虽n中存喊放持滑有锁登的一砌个事芽务或吼列表No露_o背f_沈re干ad筝s中存四放当播前对蹲该数宅据项工进行圾读操樱作的煮事务拦数量队列扰存放焰等待案访问岂该项眼的事膛务系统梦维护套锁表朽,仅劫存放顺当前赌已加尼锁的姜数据贱项的格相应结记录规则事务T在执锄行其羊任何re竭ad斗_i型te锹m(缘瑞X)操作让之前使,必只须先乱发出re译ad疤_l稼oc待k(桨X)或wr法it絮e_岸lo盼ck哈(X石)操作事务T在执伐行其矩任何wr充it冈e_劳it狠em迁(X傍)操作月之前呜,必涌须先勉发出wr除it侍e_心lo休ck梯(X察)操作事务T中所省有re略ad涌_i业te钻m(罩X)和wr融it复e_环it娱em从(X坦)操作请执行统完之严后,俭都必陕须发创出un旗lo抄ck奋(X卷)操作死锁事务T1对数泄据R1封锁再之后钉,又周要求像对数允据R2封锁而事老务T2已经瓦获得渣对数清据R2的封飞锁之搞后,饥又要舞求对片数据R1封锁这两爪个事越务处给于互羽相等杨待状脑态,耻发生挤死锁事务T1时间事务T21。对R1加锁t12。t2对R2加锁3。请求对R2加锁t3等待4。等待t4请求对R1加锁等待等待死锁乌的诊掠断方法竟一.质等待听图法数据垒库周大期性剥地生郑成事妥务等遮待关羊系有骡向图程,若图剩中存浴在有只向回浆路,毁则表奖明产质生死喂锁,轻如:方法裕二.项超时脆法若一斗个事耻务的亩等待崇时间武超过铃了规娇定的掉时限角,则凝系统缴认为争产生帝了死斥锁缺点果:葵规定觉时限沉设置谎过短易,则强容易量误判丙;设置微过长漏,则侦不能朴及时姑处理往死锁应。破除沈死锁例方法某些救事务擦必须肆回滚教以破泊除死爸锁,器一般闹选择含回滚怜带来盗代价不最小溜的事锋务,啦释放音该事柜务所瞒持有翻的全棉部锁扫,并叨撤销谎其对雕数据嫌的修麦改操校作。死锁塑的预格防方法扑一.晶一坐次性面封锁见法每个滋事务脖执行执时,侦一次驼性对筐其要观使用杠到的难数据扬项全晒部加哪锁,颤否则哀不能五继续祝执行驻(缺钱一不环可,行只要比有一材个锁捏不能甘加锁真,则缓释放河已经塔加好避的锁泥,继穷续等拌待)例子宰:如果纳T1售将R元1和掉R2着一次拒性全释部加愈锁,则T浆2要婶加锁恐时只抓能等够待直后到T唱1释裙放锁事务T1时间事务T21。对R1加锁t12。t2对R2加锁3。请求对R2加锁t3等待4。等待t4请求对R1加锁等待等待方法趁二.穴顺序荒加锁男法预先混对数笨据项亩规定坟一个避加锁降排序切,所优以加松锁操皱作都丑要按专顺序贫,释塘放锁粒时按宇照逆碗序例子肠:如果膏规定晚加锁吴顺序遍先R直1再钱R2决,则T级2要法对R欣2加弄锁之划前,帆需要胖先对杰R1山加锁派,即陪T2借需要义等待但T1喉先释粪放R刘2再俭释放题R1事务T1时间事务T21。对R1加锁t12。t2对R2加锁3。请求对R2加锁t3等待4。等待t4请求对R1加锁等待等待时间激戳方望法基于慰时间字戳排驰序的范并发钢控制时间考戳概疏念每个洞事物鄙开始欧执行他时,倘系统评会给摆“他贫/她料”分对配一绪个时凭间戳嚼,通败常是畜基于王系统匪时钟旨的。越晚麦启动低的事杂务其忌时间寻戳数腿值越纲大。每个吉数据劝库项欲X疲也挎有2慌个时卸间戳问:读饭和写栗:re端ad劣_T屈S(丸X)《=鉴TS东(T最晚隙读),都即T最晚灭读为成我功读听取X忽的最扶晚的牵事务队;wr捡it维e_崖TS膝(X独)《=尾TS联(T最晚验写),汤即T最晚杂写为成伟功写垫入X坊的最敞晚的乘事务轻;时间老戳排肌序(1平)写粗:当事葡物T鬼1发巾出w吓ri党te钱_i略te喉m(中X)饭操作汪,需夏检查坑:a.鸦若r堵ea族d_午TS拐(X洲)宾>迹TS虎(T肆1)乡丰,倍或者齐wr捆it墓e_焦TS晚(X位)滚>右TS川(T谎1)黎,朴则拒松绝w资ri君te垮操作窜,撤任销并俯回滚唤T1古,原因赚:这领说明渠某个周时间势戳大洪于T悼1的淘事物赞T2乔(比转T1比晚启属动)尊,在赞T1旱要写犬X之患前,严T2肢已经挖读或授写了恶X的疼数据真;》如壳果是申T2狠先写寇,则露T1哗的写劣操作支将覆践盖了线较晚辞启动情的T糖2的格写操蒙作,蚀即T激2写肠操作佛无效无效》如振果是讽T2供先读葡,则曾T2引读的究是未被经T把1修笛改写拦入的餐数据烛,但删实际宝上较骨晚启秧动的爸T2简读的胶应该幼是T盛1修办改后木的数享据。对:耍错:X未山经T适1修孩改以上罩都违称反了安时间掏戳顺驶序。b.从若以上(a椅)中亡的条芦件没姑有发牵生,痕则执赖行T馋1的是写操伯作,号并将到wr郊it休e_承TS烤(X魔)的芽值设掩置为主TS吵(T滴1)腐.(2裤)读且:当事抱务T史1发切出r娃ea悟d_谈it某em派(X倡)操帆作,即需检炎查:a.鹿若w针ri旧te艳_T璃S(迫X)惨>彻T语S(报T1魄),诸则拒计绝r吐ea刻d操惩作,月撤销颈并回者滚T遥1,原因去:说厅明在冰T1萄要读迟X之抵前,幼比T遭1晚估启动州的T奇2已茅经修筒改了眯X的兄数据室,所辉以X怠已经每不再厉是T煮1启题动时王的数月据值呀了。对:走错址:X被赵T2向修改b.役若五(a浙)中典的条渡件没欠有发家生,糕则执头行T秋1的石读操军作,并将味re贱ad密_T牵S(晚X)狡的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论