《數(shù)據(jù)庫原理》知識點之?dāng)?shù)據(jù)庫的并發(fā)控制

字號:

數(shù)據(jù)庫的并發(fā)控制
    并發(fā)控制帶來的三類問題
    (1)丟失更新的問題
    (2)不一致分析問題
    (3)“臟數(shù)據(jù)”的讀出。(在數(shù)據(jù)庫技術(shù)中,未提交的隨后又被撤消的數(shù)據(jù)為“臟數(shù)據(jù)”。)
    以上三類問題結(jié)合多事務(wù)的并行操作進(jìn)行理解。
    舉例
    [例題] 設(shè)T1,T2,T3是如下三個事務(wù),其中R為數(shù)據(jù)庫中某個數(shù)據(jù)項,設(shè)R的初值為0.
    T1:R:=R+5
    T2:R:=R*3
    T3:R:=2
    若允許三個事務(wù)并行執(zhí)行,試列出所有可能的正確結(jié)果。采用什么手段,可以解決并行調(diào)度的不一致問題?
    答:有6種可能的情況
    (1)T1-T2-T3: R=2
    (2)T1-T3-T2: R=6
    (3)T2-T1-T3: R=2
    (4)T2-T3-T1: R=7
    (5)T3-T1-T2: R=21
    (6)T3-T2-T1: R=11
    采用封鎖,可以解決并行調(diào)度的不一致問題。
    為解決并發(fā)控制帶來的問題,通常要采用封鎖(locking)技術(shù),常用的封鎖有:排它型封鎖(X封鎖)和共享型封鎖(S封鎖)兩種。
    并發(fā)控制中,有許多概念都要掌握:封鎖,X封鎖,S封鎖,PX協(xié)議,PXC協(xié)議,PS協(xié)議,PSC協(xié)議,活鎖,死鎖,可串行化調(diào)度,不可串行化調(diào)度,兩段封鎖協(xié)議