You are on page 1of 7

4.5 iu khin cc giao dch ng thi phn tn 4.5.

1 t vn iu khin cc giao dch mt cch ng thi l mt vn quan trng trong mi trng c s d liu phn tn,cng c ngha khi nhu cu thc hin cc giao dch t pha ngi dng l rt ln.Cc giao dch tin hnh song song s nng cao hiu nng hot ng ca h thng. Tuy nhin vic thc hin ng thi cc giao dch s ny sinh nhiu vn phc tp.Vn ln nht l s tng tranh gia cc giao dch c chung nhu cu s dng mt mc d liu. m bo cc giao dch hot ng giao dch hiu qu, m bo cc tnh cht bit lp v nht qun ca cc giao dich,tnh c lp v ton vn ca d liu. iu khin ng thi phn tn gii quyt cc vn bit lp v tnh nht qun ca cc giao dch.Nu h qun tr c s d liu phn tn iu khin n gin cc giao dch phn tn, bng cch thc hin tun t cc giao dch, giao dch sau bc vo hot ng sau khi giao dch trc hon tt.Phng php ny hn ch kh nng truy cp h thng n ti thiu, trong khi phn cng ca h thng p ng c cho nhiu truy cp cng lc. Mc ng thi cc giao dch, ngha l s lng cc giao dch hot ng cng lc, l mt tham s quan trng nht trong cc h phn tn. V vy c ch iu khin phn tn duy tr mc dng thi cao l tm ra mt phng n thch hp nht va duy tr tnh nht qun ca c s d liu, va m bo s lng giao dch. gii quyt bi ton iu khin dng thi, gi s h thng phn tn hon ton tin cy v khng h c bt c sai st no v phn cng v cng nh phn mm.Gi thit ny cho php m t cng vic qun l ng thi, khng phi m t cc hot ng ca h thng. L thuyt tun t (Serializability Theory), l nn tng c s xy dng cc thut ton iu khin ng thi phn tn. 4.5.2 Tnh kh tun t lch biu Nu vic thc thi ng thi cc giao dch lm cho csdl trng thi nh khi thc hin tun t theo mt th t no th cc vn nh cp nht b tht lc s c gii quyt.y l im quan trng v l lun tnh kh tun t. Mt Lch biu S c nh ngha trn tp giao dch T={T1,T2,,Tn } v xc nh th t thc thi an xen ln nhau cc thao tc trong giao dch( lch biu tun t), khi cc s c tranh chp chc chn khng xy ra v trong c s d liu s c mt kt qu no .Lch biu c th c m t l mt th t b phn trn T. Gi s tp k trn giao dch T={T1,T2,,Tn }.Nh vy tng ng vi T c k! cc lch biu tun t khc nhau.Gi s cc giao dch ng thi l ng n khi v ch khi tc ng ca n cng ging nh tc ng c c ca mt lch biu tun t.Mt lch biu S cho mt tp cc giao dch T l th t cc bc c bn ca cc giao dch c thc hin. Hai thao tc v Oij (x) va Okl(x),I,k khong nht thit phi phn bit,cng truy cp n mt thc th csdl x c gi l c tnh tng tranh nu t nht mt trong chng l thao tc ghi.Bit rng cc thao tc c khng tng tranh vi nhau,v vy c hai loi tng tranh la oc-ghi v ghi-ghi.Hai thao tc ny c th cng mt giao dch hoc thuc hai giao dch khc nhau v chng tng tranh vi nhau.Nh vy s tng tranh gia cc giao dich s xut hin gia hai thao tc ph thuc vo th t thc hin ca chng. a) Mt lch biu y

L lch biu nh ngha th t thc hin cho tt c cc thao tc trong min bin thin ca n.V hnh thc,mt lch biu y c nh ngha trn mt tp giao dch T={T1,T2, ,Tn }.l mt th t b phn ScT={T,T} ,trong : 1. T= Uni=1i 2. Uni=1 i T 3.Hai thao tc tng tranh bt k Oij Okl thuc T c Oij T Okl, hoc Okl T Oij iu kin u tin khng nh min bin thin ca lch biu l hp ca cc min bin thin tng giao dch.iu kin th hai nh ngha mt quan h th t l mt tp bao hm ca cc quan h th t thao tc bn trong mi giao dch.iu kin cui cng nh ngha th t thc thi gia cc thao tc tng tranh. V D: Xt hai giao dch c c t T1:Read(x) T2:Read(x) X x+1 X x+1 Write(x) Write(x) Commit Commit c Mt lch biu y S T trn T={T1,T2} c th c biu din nh sau: ScT={T,T} Trong : 1={R1(x),W1(x),C1} 2={R2(x),W2(x),C2} V vy: T=1 U 2={R1(x),W1(x),C1,R2(x),W2(x),C2} V

T={(R1,R2),(R1,W1),(R1,C1),(R1,W2),(R1,C2),(R2,W1),(R2,C1),(R2,W2),
(R2,C2),(W1,C1)(W1,W2),(W1,C2),(C1,W2),(C1.C2),(W2.C2)} n gin ha k php cho mt lch biu thng uc c t nh dy cc thao tc trong T ,quy c ScT c th c c t nh sau: ScT={R1(x),R2(x),W1(x),C1,W2(x),C2} Biu din lch biu y ScT di s DAG nh hnh: R1(x) R2(x) R1(x) R2(x)

W1(x)

W2(x)

C1 Biu din DAG ca mt lch biu y

C2

b)Lch biu l mt tin t ca lch biu y Lch biu c nh ngha y nh sau: Cho mt th t b phn P= {,} .Ni rng P= {,} l mt tin t ca P nu 1. 2. ei ,e1 e2 khi v ch khi e1 e2 3. ei ,nu ej v ej ei th ej (1) v (2) xc nh P l mt hn ch ca P trn min v cc quan h th t trong P c duy tri trong P.iu kin (3) ch ra rng vi mi phn t ca ,tt c cc phn t ng trc n trong cng phi thuc . Da vo mt lch biu tin t ca th t b phn c th x l cc lch biu khng y trong cc trng hp cc giao dch c tng tranh v khi xut hin s c cn phi c kh nng gii quyt vi nh giao dch khng y V d: Minh ha mt lch biu khng y .Xt bao giao dch sau: T1:Read(x) T2:Write(x) T3:Read(x) Write(x) Write(y) Read(y) Commit Read(z) Read(z) Commit Commit Mt lch biu y Sc cho nhng giao dch ny c trnh by trong hnh a v mt lch biu S l mt tin t ca Sc c m t trong hnh b

R1(x) W1(x)

W2(x) W2(y)

R3(x) R3(y)

R1(x)

W2(x) W2(y)

R3(x) R3(y)

C1

R2(z) C2

R3(z) C3

R2(z)

R3(z)

a) mt lch biu y

b)Tin t ca lch biu y

c)Lch biu tun t: Nu trong mt lch biu S, cc thao tc ca cc giao dch khc nhau khng c thc hin xen k,ngha l cc thao tc ca mi giao dch xy ra lin tip,khi lch biu ny c gi l tun t.Thc thi tun t mt tp cc giao dch duy tr c tnh nht qun ca giao dch, tc l duy tr c tnh nht qun ca csdl.Mi giao dch, khi c thc hin c lp trn mt csdl nht qun, s sinh ra mt csdl nht qun. V d: Xt mt lch biu ca cc giao dch: T1:Read(x) T2:Write(x) T3:Read(x) Write(x) Write(y) Read(y) Commit Read(z) Read(z) Commit Commit S={W2(x),W2(y),R2(z),C2,R1(x),W1(x),C1,R3(x),R3(x),R3(y),R3(z),C3} Lch biu S l tun t v tt cacr cc thao tc ca T2 c thc hin trc cc thao tc ca T1 v cc thao tc ca T1 c thc hin trc cc thao tc T3 C th biu din mi lin h th bc gia cc thc thi giao dich: T2 s T1 sT3 hoc T2 T1 T3

d)S tng ng ca cc lch biu: Ni rng,hai lch biu S1 v S2 c nh ngha trn cng mt tp giao dch T l tng ng nu chng c cng tc dng trn csdl.Ni cch khc, hai lch biu S1 v S2 c nh ngha trn cng mt tp giao dch T c di l tng ng nu vi mi cp thao tc tng tranh v (I k),mi khi .gi l tng ng tng tranh v s tng ng hai lch biu theo th t thc thi tng i ca cc thao tc tng tranh trong cc lich biu.Gi thit T khng cha cc giao dch b hy b. Nh vy da vo mi lin h th bc ca th t b phn, c th nh ngha s tng ng ca cc lch biu ng vi tc dng ca chng trn csdl V d: Cho hai lch biu sau c nh ngha trn ba giao dch T1:Read(x) T2:Write(x) T3:Read(x) Write(x) Write(y) Read(y) Commit Read(z) Read(z) Commit Commit S={W2(x),W2(y),R2(z),C2,R1(x),W1(x),C1,R3(x),R3(x),R3(y),R3(z),C3} S= {W2(x),R1(x), W1(x),C1,R3(x), W2(y),R3(y),R2(z),C2,R3(z),C3} Hin nhin lch biu S v S l tng ng tng tranh e)Tnh kh tun t ca lch biu:

Mt lch biu S c gi l kh tun t hay kh tun t theo tng tranh khi vachir khi n tng ng tranh vi mt lch biu tun t.Tnh kh tun t ch tng ng tnh nht qun mc 3 Chc nng c bn ca b phn iu khin ng thi l to ra mt lch biu kh tun t thc hin cc giao dch ang ch i.Nh vy vn l iu chnh li thut ton m bo rng chng ch sinh ra cc lch biu kh tun t. L thuyt kh tun t c th m rng cho cc h csdl phn tn khng nhn bn bng phng php n gin.Lch biu thc thi giao dch ti mi v tr uc gi l lch biu cc b.Nu csdl khng c nhn bn v mi lch biu cc b kh tun t th lch biu ton cc cng kh tun t,vi k cc th t tun t ha cc b u nh nhau.Tuy nhin trong cc csdl phn tn c nhn bn, c th cc lch biu cc b kh tun t nhng tnh nht qun tng h ca csdl vn b tn hi. V d: Gi s hai giao dch T1 v T2 cng truy cp vo mt mc d liu (x) c mt ti 2 v tr.Gi s c 2 lch biu c to ra ti hai v tr: S1={R1(x),W1(x),C1,R2(x),W2(x),C2} S2={R2(x),W2(x),C2,R1(x),W1(x),C1} T1:Read(x) T2:Read(x) xx+5 xx*10 Write(x) Write(x) Commit Commit S1 v S2 l lch biu kh tun t,mi lch biu biu din mt th t thc hin ng n.Tuy nhin c th nhn thy cc lch biu tun t ha T1 v T2 theo th t o ngc. Gi s gi tr x=1 trc khi thc hin cc giao dch Sau khi thc hin lch bi S1 ti v tr 1, gi tr x=4.v ti v tr 2 la x=15 sau khi kt thc lch biu S2 iu ny vi phm tnh nht qun tng h hai csdl cc b f)Lch biu kh tun t mt bn Cc lch biu c th duy tr c tnh nht qun tng h c gi la kh tun t nt bn.Tnh nht qun tng h yu cu tt c cc gi tr mi mc d liu phn bn phi h nhau.Mt lch biu ton cc kh tun t mt bn phi tha mn nhng k sau: 1.Mi lch biu cc b phi kh tun t 2.Hai thao tc tng tranh phi c cng th t tng i trong tt c cc lch biu cc b ni m chng xut hin Cc thut ton iu khin ng thi bo m c tnh kh tun t bng cc dng b ha cc truy cp tng tranh n csdl.Trong cc csdl nhn bn,nhim v bo m tnh kh tun t mt bn thng l trch nhim ca giao thc iu khin bn sao. Gi s mc d liu x c cc bn sao x1,x2,,xn.Coi x nh l mt mc d liu logic va mi bn sao l mt mc d liu vt l.Nu tnh trong sut nhn bn c cung cp,cc giao dch ca ngi s dng s ua ra cc thao tc c ghi trn mc d liu x.Giao thc iu khin bn sao chu trch nhim nh x mi thao tc c d liu trn mc logic x[Read(x)] thnh mt thao tc c trn mt trong nhng bn sao vt l xj cua

x[Read(xj)].Ngc li, mi thao tc ghi trn mc logic x c nh x thnh mt tp cc thao tc ghi trn mt tp con ca cc bn sao vt l ca x.Bt k nh x chuyn n ton b tp cc bn sao hay chir n mt tp con th n vn l c s phn loi cc thut ton iu khin bn sao.Giao thc c mt/ghi tt c (ROWA)iu khin bn sao nh xajmootj thao tc c trn mt mc logic n mt bn sao ca n nhng li nh x thao tc ghi thnh tp cc thao tc ghi trn tt c cc bn sao vt l.Nhc im ca giao thc ROWA l lm gim kh dng ca csdl khi c s c,giao dch c th khng hon tt c tr khi n phn nh tc dng ca tt c cc thao tc ghi trn cc bn sao.V vy c mt s thut ton c gng duy tr tnh nht qun tng h m khng s dng n giao thc ROWA. 4.5.3 Phn loi cc c ch iu khin ng thi C nhiu cc phn loi cc c ch iu khin ng thi cc giao dch phn tn.Thng thng cch phn loi da trn s nguyn thy v s ng b ha.S nguyn thy c th c s dng trong cc thut ton iu khin ng thi vi hai quan im khc nhau nh sau: -Quan im bi quan:Cho rng c rt nhiu giao dch tng tranh vi nhau -Quan im lc quan: Cho rng khng c nhiu giao dch tng tranh vi nhau V vy c th phn loi cc c ch iu khin ng thi cc giao dch thnh hai nhm:Phng php iu khin ng thi lc quan v iu khin ng thi bi quan. Cc thut ton bi quan ng b ha vic thc hin cc giao dch trc khi thc hin chng,trong khi cc thut ton lc qua ng b ha cc giao dch cho n khi chng kt thc.Nhm bi quan gm cc thut ton da trn kha cht,cc thut ton a theo th t giao dch v cc thut ton lai.Tng t nhm lc quan cng c th c phn loi thnh cc thut ton da theo kho cht v cc thut ton theo th t thi gian.

Cc thut ton iu khin ng thi

Bi quan

Lc quan

Kha cht

Nhn thi gian

Lai

Kha cht

Nhn thi gian

Tp trung

C bn a phin bn

Bn chnh

Phn tn

Bo ton

Trong cch tip cn dng kha cht,vic ng b ha giao dch c c bng cch s dng cc kh vt l hoc logic trn mt phn ca csdl.Kch thc thng c gi l mn kha,gi s kch thc c chn l mt n v kha.Khoa cht l mt c quyn truy xut trn mt mc d liu m b qun l kha cht c th trao cho mt giao dch hay thu hi li.

You might also like