目錄
1.事務(wù)
2.并發(fā)控制
1.事務(wù)
事務(wù)的特點(diǎn):ACID
原子性? ?atom
一致性? ?consistent
隔離性? ?isolation
持久性? ?durable
故障的種類(lèi)
1.事務(wù)內(nèi)部故障
? ? ? ? 措施:采取redo重做和undo撤銷(xiāo)技術(shù)
2.系統(tǒng)故障DBMS
? ? ? ? 措施:重啟
3.介質(zhì)故障
? ? ? ? 硬件損壞
4.計(jì)算機(jī)病毒
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-489056.html
數(shù)據(jù)恢復(fù)技術(shù)
數(shù)據(jù)轉(zhuǎn)儲(chǔ):
? ? ? ? 對(duì)執(zhí)行失敗的數(shù)據(jù)重新執(zhí)行一遍
日志文件:
? ? ? ? 記錄事務(wù)對(duì)數(shù)據(jù)的更改操作的文件
恢復(fù)的策略
事務(wù)故障:那么就撤銷(xiāo)之前所有的操作
系統(tǒng)故障:還沒(méi)執(zhí)行完的事務(wù)undo,丟失的事務(wù)redo
介質(zhì)故障的恢復(fù):
系統(tǒng)故障:重裝數(shù)據(jù)庫(kù),重做已經(jīng)完成的事務(wù)
?系統(tǒng)故障的話(huà),只有故障的時(shí)候還在執(zhí)行著的撤銷(xiāo),其他都是重做
2.并發(fā)控制
并發(fā)帶來(lái)的問(wèn)題
問(wèn)題:
1.丟失修改
我修改的東西丟失了,我把int a=3,a++ ,當(dāng)同時(shí)執(zhí)行多次的時(shí)候就會(huì)出現(xiàn)丟失修改(執(zhí)行了n次++實(shí)際上小于加了n次),因?yàn)閍++位三部,第一步讀取的時(shí)候可能讀的是老數(shù)據(jù)
2.臟讀
? ? ? ? 讀的是已經(jīng)撤回的無(wú)效的數(shù)據(jù)
? ? ? ? PDD商家600元iphon13 店員打錯(cuò)少打一個(gè)0,上架了,立刻發(fā)現(xiàn)撤回。
????????這時(shí)候某位消費(fèi)者趁機(jī)下了10單,6000元,這就是臟讀,讀了無(wú)效的數(shù)據(jù)
3.不可重復(fù)讀?
? ? ? ? 在同一個(gè)事務(wù)中,連續(xù)兩次讀到的數(shù)據(jù)是不一致的
?
并發(fā)解決方案
引入鎖
1.排他鎖:
寫(xiě)鎖,X鎖? ? (加寫(xiě)鎖的時(shí)候其他人不可以讀,寫(xiě))
2.共享鎖
讀鎖 ,S鎖? ? (加讀鎖的話(huà)其他人只能讀)
封鎖協(xié)議
一級(jí)封鎖協(xié)議:
修改時(shí)候必須加X(jué)鎖(排他鎖),直到結(jié)束
二級(jí)封鎖協(xié)議
讀的時(shí)候必須加共享鎖(S鎖),讀完結(jié)束
三級(jí)封鎖協(xié)議
讀的時(shí)候必須加S鎖,直到結(jié)束
一級(jí)封鎖協(xié)議解決,修改丟失
二級(jí)封鎖協(xié)議解決臟讀
二級(jí)封鎖協(xié)議解決不可重復(fù)讀
死鎖和活鎖
?死鎖:兩個(gè)鎖,你等我,我等你,相互謙讓?zhuān)蹅z卡在這
活鎖:我等你,你做完了我開(kāi)始,如果前者一直執(zhí)行,可能一直等待
可串行性:
并發(fā)調(diào)動(dòng)的某一次的結(jié)果與串行的結(jié)果一致
可串行性是正確調(diào)度的準(zhǔn)則
兩段鎖協(xié)議
先上鎖的先解鎖
?
封鎖的粒度
封鎖的粒度大并發(fā)就小,開(kāi)銷(xiāo)小。成反比文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-489056.html
?
到了這里,關(guān)于數(shù)據(jù)庫(kù)第十章(數(shù)據(jù)庫(kù)恢復(fù)技術(shù))十一章(并發(fā)控制)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!