(2)不一致分析問題
(3)“臟數(shù)據(jù)”的讀出。(在數(shù)據(jù)庫技術(shù)中,未提交的隨后又被撤消的數(shù)據(jù)為“臟數(shù)據(jù)”。)
以上三類問題結(jié)合多事務(wù)的并行操作進(jìn)行理解。
舉例
[例題] 設(shè)T1,T2,T3是如下三個(gè)事務(wù),其中R為數(shù)據(jù)庫中某個(gè)數(shù)據(jù)項(xiàng),設(shè)R的初值為0.
T1:R:=R+5
T2:R:=R*3
T3:R:=2
若允許三個(gè)事務(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é)議