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

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

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

時間: 家輝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 主站蜘蛛池模板: 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 耐压仪-高压耐压仪|徐吉电气| 商秀—企业短视频代运营_抖音企业号托管 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 计算机毕业设计源码网| 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 通用磨耗试验机-QUV耐候试验机|久宏实业百科 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 湖南自考_湖南自学考试 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 天然鹅卵石滤料厂家-锰砂滤料-石英砂滤料-巩义东枫净水 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 浙江宝泉阀门有限公司| 博医通医疗器械互联网供应链服务平台_博医通 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 合金ICP光谱仪(磁性材料,工业废水)-百科 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 酸度计_PH计_特斯拉计-西安云仪 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 |