日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

雙重?cái)?shù)據(jù)庫(kù)的維護(hù)( 二 )


數(shù)據(jù)庫(kù)
本文討論的數(shù)據(jù)庫(kù)類(lèi)型以一個(gè)實(shí)體----(選擇項(xiàng),值)的集合形式出現(xiàn) 。每個(gè)選擇項(xiàng)是唯
一的 , 值對(duì)于處理器DBMP而言是原子實(shí)體 。提出的這種機(jī)制可以擴(kuò)展用來(lái)處理有更復(fù)雜
結(jié)構(gòu)的數(shù)據(jù)庫(kù)----其中的值本身可以是(選擇項(xiàng),值)的集合形式----但這種擴(kuò)展將在此不進(jìn)行
進(jìn)一步的討論 。
答應(yīng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行的四種操作:
1)選擇:給定一個(gè)選擇項(xiàng),返回與之匹配的值 。
2)賦值:給定一個(gè)選擇項(xiàng)和值 , 這個(gè)給定的值替代與這個(gè)給定的選擇項(xiàng)相關(guān)的以前的值 。
3)創(chuàng)建:一個(gè)新的選擇項(xiàng)和一個(gè)初始的值 , 然后一個(gè)新的實(shí)體(選擇項(xiàng),值)加入到數(shù)據(jù)庫(kù)
中 。
4)刪除:給定一個(gè)選擇項(xiàng) , 已經(jīng)存在的實(shí)體(選擇項(xiàng),值)從數(shù)據(jù)庫(kù)中移除 。
注重值的修改局限于賦值操作 。函數(shù)修改請(qǐng)求----例如“把X置換成Factorial(X)“----
就超出規(guī)則之外了 。假如答應(yīng)這些請(qǐng)求將強(qiáng)制使用系統(tǒng)同步互鎖 。
一致性
另一個(gè)必須考慮的問(wèn)題是數(shù)據(jù)庫(kù)拷貝的一致性程度 。由于處理器DBMP之間相互通信
的延遲 , 所以不可能保證數(shù)據(jù)庫(kù)在任何時(shí)候都完全相同 。我們的目標(biāo)不是保證拷貝之間的完
全相同 , 而是保證拷貝之間的一致性 。這樣的話(huà) , 我們可以認(rèn)為假設(shè)當(dāng)停止任何一個(gè)入口的
修改操作時(shí) , 處理器DBMP之間有足夠的通信時(shí)間 , 則那個(gè)入口的狀態(tài)(它的存在和值)在所
有的數(shù)據(jù)庫(kù)中的拷貝都相同 。
時(shí)間戳
我們答應(yīng)任何一個(gè)創(chuàng)建和維護(hù)數(shù)據(jù)庫(kù)的處理器DBMP對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改 。當(dāng)然 , 一個(gè)
處理器DBMP進(jìn)行一些改變必須與其它的處理器DBMP通信 。為了確保一致性 , 所有的處
理器DBMP必須做出相同的決定 , 即對(duì)特定的某個(gè)入口的哪個(gè)修改將是最后結(jié)果 。我們希
望選擇最遲的改變 , 然而 , 由于沒(méi)有通用的經(jīng)??梢源嫒〉男蛄刑?hào)發(fā)生器(一個(gè)網(wǎng)絡(luò)時(shí)間標(biāo)
準(zhǔn)就足夠了) , 也就沒(méi)有絕對(duì)的方法來(lái)決定在分布式系統(tǒng)中事件的時(shí)間順序 , ,所以“最遲“只
能是近似的 。我們通過(guò)給每個(gè)入口的每次修改附上一個(gè)時(shí)間戳來(lái)獲得這種近似 。修改操作的
較遲的時(shí)間戳將設(shè)置成為當(dāng)前的時(shí)間戳(1) 。
---------說(shuō)明:
(1)時(shí)間在前后關(guān)系中是很有用的 , 因?yàn)樗哂兴M膯握{(diào)增加的屬性和準(zhǔn)確性的合理
程度的有效性 。任何其它的具有這些屬性的排序方法也可以使用 , 可以選擇“天天的時(shí)間“ ,
因?yàn)樗p易取得 。它的主要缺陷是它經(jīng)常是手工設(shè)置(因而輕易產(chǎn)生錯(cuò)誤) , 并且它在系統(tǒng)
服務(wù)中斷時(shí)會(huì)停止 。隨著計(jì)算機(jī)系統(tǒng)會(huì)調(diào)整來(lái)適應(yīng)網(wǎng)絡(luò)環(huán)境 , 使用一個(gè)獨(dú)立的時(shí)間源將變得
更加普遍 。這已經(jīng)在ARPANET的TENEX站點(diǎn)出現(xiàn)了 。
由于多于一個(gè)處理器DBMP上的時(shí)間戳的唯一性不能保證 , 所以一個(gè)“源處理器DBMP
“包含在每個(gè)時(shí)間戳中 。通過(guò)(武斷地)排列處理器DBMP , 我們因而有唯一有序的時(shí)間
戳 。每個(gè)時(shí)間戳用(T,D)表示:T是時(shí)間 , D是處理器DBMP的標(biāo)識(shí)符 。對(duì)于兩個(gè)時(shí)間戳
(T1,D1)和(T2,D2),我們可得
(T1,D1)>(T2,D2)<=>(T1>T2)或者(T1=T2和D1>D2)
(T1,D1)可以被認(rèn)為比(T2,D2)在時(shí)間上更遲一些 。
假如D1=D2和T1=T2 , 則認(rèn)為這兩個(gè)修改是對(duì)同一個(gè)修改請(qǐng)求的兩個(gè)拷貝 。
為了確保時(shí)間戳的唯一性 , 每個(gè)獨(dú)立的處理器DBMP對(duì)不同的修改操作附上不同的時(shí)
間 。這當(dāng)然是可能的 , 即使時(shí)間單元的優(yōu)點(diǎn)會(huì)限制在單一DBMP站點(diǎn)上的修改操作的頻率 。
現(xiàn)在數(shù)據(jù)庫(kù)的每一入口是一步:
E::=(S,V,T),

推薦閱讀