必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

數據庫工程師復習重點:事務調度與并發控制

時間: 家輝2 資訊

  9.1事務與事務調度

  9.1.1 事務的概念

  1、 事務是構成數據庫應用中一個獨立邏輯工作單元的操作的集合,也是訪問并可能更新數據庫中各種數據項的一個程序執行單元。數據庫系統通過執行各種事務實現對數據庫數據的操作,管理和執行事務是DBMS的基本功能。

  9.1.2 事務的特性(ACID特性)

  1、原子性(Atomicity)

  一個事務對數據庫的所有操作是一個不可分割的工作單元,這些操作要么全部執行,要么一個也不執行。

  2、 一致性(Consistency)

  當一個事務獨立執行時,其執行結果應維護數據庫的一致性,即數據庫不會因事務執行而受到破壞。數據庫滿足全部完整性約束,處于正確的狀態;

  3、 隔離性(Isolation)

  當多個事務并發執行時,系統應保證一個事務的執行結果不受其他事務的干擾,事務并發執行結果與這些事務串行執行時的結果是一樣的;

  4、 持久性(Durability)

  一個事務一旦成功完成全部操作,則它對數據庫的所有更新就永久地反映在數據庫中,即使以后數據庫發生了故障;

  9.1.3 事務調度

  1、 一個事務中各操作的執行順序和執行時機一方面取決于事務自身內部邏輯,另一方面也受DBMS中事務調度機制的控制。當多個事務并發執行時,DBMS必須采用合適的并發調度機制合理安排各個事務執行順序,以保證事務的ACID特性。

  2、 調度分為串行調度和并發調度,串行調度的特點是一個事務的所有操作都執行完后才開始執行另一事務,不存在事務操作的交叉執行;不同事務操作的交叉執行稱為并發調度,DBMS交叉執行來自多個事務的各個操作,以提高數據庫系統的性能。

  9.1.4 可串行化調度

  1、 事務的串行調度能夠產生正確的結果,但執行效率低,如果并發調度S等價于某一定義在TS上的串行調度,那么S稱為可串行化調度;

  2、 給定兩個定義在事務集TS上的的調度S和S’,如果可以通過交換S中一系列非沖突操作的執行順序將S轉換為S’,則稱S與S’是沖突等價。

  3、 如果定義在事務TS上的并發調度S沖突等價于事務集TS上的某個串行調度S’,則稱S是沖突可串行的。

  4、 在引入沖突可串行概念后,判斷一個并發調度是否正確可以歸結為判斷該調度是否沖突可串行的。

  9.2 基于鎖的并發控制技術

  9.2.1 鎖的概念

  1、 對數據庫系統中每個可能被多個事務并發訪問的數據項設置鎖,鎖代表了對該數據項的訪問權限。即事務T在訪問數據項Q前須向DBMS申請獲得設置在Q上的鎖,如成功,則T獲得對Q的訪問權,T對Q操作完成后,釋放所占用的鎖,允許其他事務獲得該鎖并訪問Q,在T釋放設置在Q上的鎖前,其他事務不能訪問Q。

  2、 鎖的類型有兩種:

  (1) 互斥鎖(X鎖):若T獲得Q上的X鎖,則T可以對Q讀寫,其他事務不能再對Q進行任何操作,直到T釋放Q上的鎖;

  (2) 共享鎖(S鎖):若T獲得Q上的S鎖,則T可以對Q進行讀取操作,但不可以修改,同時,允許其他事務再申請獲得Q上的S鎖,與T并行讀取Q,但在T釋放Q上的S鎖前,其他事務不能對Q做任何修改;

  9.2.2 加鎖協議

  1、 保證數據一致性的三級加鎖協議:

  (1) 1級加鎖協議要求事務T在修改數據項Q之前必須先對Q加X鎖,直到事務結束才釋放,事務結束包括正常結束和非正常結束,但事務如果只對Q讀而不寫,則不需對Q加鎖;

  (2) 2級加鎖協議是在1級加鎖協議基礎上,要求T在讀取Q前必須先對其加S鎖,讀完后立即釋放S鎖;

  (3) 3級加鎖協議是在1級加鎖協議基礎上,要求在讀取Q前必須先對其加S鎖,但需等到事務結束后才釋放S鎖。

  9.2.3 兩階段鎖協議

  1、 兩階段鎖(2PL)基本原理如下:

  (1) 每個事務的執行過程劃分為兩個階段,加鎖階段和解鎖階段;

  (2) 在加鎖階段,事務可以申請獲得任何數據項上的任何類型的鎖,但是不允許釋放任何鎖;

  (3) 在解鎖階段,事務可以釋放任何數據上的任何類型的鎖,但是不能再申請任何的鎖;

  (4) 每個事務開始執行后就進入加鎖階段,當第一次釋放鎖后,即進入解鎖階段。

  9.2.4 鎖粒度

  1、 施加X鎖和S鎖的數據項大小稱為鎖粒度。

  2、 鎖粒度越大,系統中可以被鎖的數據項就越少,事務的并發執行度也越低,但同時系統的開銷也小,相反,當鎖粒度越小時,事務的并發度高,但系統開銷也較大;

  9.3 死鎖處理

  9.3.1 死鎖預防

  1、 一次加鎖法

  該方法要求每個事務在開始時必須將需要訪問的數據項全部加鎖,否則不能執行下去,也就是要求事務必須一次性地獲得對需要訪問的全部數據項的訪問權;

  該方法的缺點是:

  (1) 多個數據項會被一個事務長期鎖定獨占,導致其他事務無法及時訪問這些數據項,降低了系統的并發程度;

  (2) 由于很難事先精確知道每個事務在執行過程中需要加鎖的全部數據項,只能擴大加鎖范圍,將事務執行時可能訪問的所有數據項全部加鎖,進一步降低了系統的并發程度;

  2、 順序加鎖法

  該方法對數據庫中事務訪問的所有數據項規定一個加鎖順序,每個事務在執行過程中必須按此順序對所需數據加鎖;

  該方法的缺點:

  (1) 數據庫中需要加鎖的數據項非常多,并且不斷變化,維護這些數據項的加鎖順序很困難,代價非常大;

  (2) 事務訪問的數據項有時無法事先完全確定,有時很難要求事務按照固定的順序對這些數據項進行加鎖;

  9.3.2 死鎖檢測與恢復

  1、 死鎖檢測

  (1) 可以利用事務等待圖進行死鎖檢測,數據庫系統出現死鎖當且僅當事務等待圖中包含回路,而且回路中的所有事務就是處于死鎖的事務;

  (2) 數據庫并發控制子系統動態地構造和維護事務等待圖,并周期地檢測等待圖,如圖中有回路,則說明系統中出現了死鎖;

  2、死鎖恢復

  (1) 當發現死鎖存在時,系統可以通過死鎖恢復機制將系統從死鎖中解救出來,通常是選取一個或幾個死鎖事務,撤消這些事務,釋放其所有的鎖,消除事務等待圖中的回路,從而解決了系統死鎖問題;

  (2) 如果決定撤消哪個事務或哪些事務,有兩個原則:

  A、 選擇處于最多條回路交點處的事務;

  B、 選擇具有最少撤消代價的事務。

  9.4 活鎖處理

  1、如果一個事務在系統不存在死鎖的情況下,長期得不到DBMS的獲批,處于長時間等待中的情況叫活鎖,為了避免活鎖,DBMS可采用先來先服務的原則解決。

56836 主站蜘蛛池模板: 盘古网络技术有限公司| EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 河南膏药贴牌-膏药代加工-膏药oem厂家-洛阳今世康医药科技有限公司 | 土壤有机碳消解器-石油|表层油类分析采水器-青岛溯源环保设备有限公司 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 技德应用| 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | 企业管理培训,企业培训公开课,企业内训课程,企业培训师 - 名课堂企业管理培训网 | 密集架-手摇-智能-移动-价格_内蒙古档案密集架生产厂家 | 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 无缝钢管-聊城无缝钢管-小口径无缝钢管-大口径无缝钢管 - 聊城宽达钢管有限公司 | 我车网|我关心的汽车资讯_汽车图片_汽车生活!| 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 环球电气之家-中国专业电气电子产品行业服务网站! | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 无锡网站建设-做网站-建网站-网页设计制作-阿凡达建站公司 | 博博会2021_中国博物馆及相关产品与技术博览会【博博会】 | 京马网,京马建站,网站定制,营销型网站建设,东莞建站,东莞网站建设-首页-京马网 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 复合肥,化肥厂,复合肥批发,化肥代理,复合肥品牌-红四方 | 风淋室生产厂家报价_传递窗|送风口|臭氧机|FFU-山东盛之源净化设备 | 北京三友信电子科技有限公司-ETC高速自动栏杆机|ETC机柜|激光车辆轮廓测量仪|嵌入式车道控制器 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 |