新聞中心
數(shù)據(jù)存儲(chǔ)的一致性模型是存儲(chǔ)系統(tǒng)和數(shù)據(jù)使用者之間的約定。一致性有不同程度,大致如下:

1. 強(qiáng)一致性:更新完成后,任何后續(xù)訪問都將返回更新過的值。
2. 弱一致性:系統(tǒng)不保證后續(xù)訪問將返回更新過的值,在那之前要先滿足若干條件。通常條件就是經(jīng)過一段時(shí)間,也就是不一致窗口。
3. 最終一致性:存儲(chǔ)系統(tǒng)保證如果對(duì)象沒有新的更新,最終所有訪問都將返回最后更新的值。
最終一致性的各種實(shí)體:
1. 因果一致性:如果進(jìn)程A通知進(jìn)程B它已更新了一個(gè)數(shù)據(jù)項(xiàng),那么進(jìn)程B的后續(xù)訪問將返回更新后的值,且一次寫入將保證取代前一次寫入。與進(jìn)程A無因果關(guān)系的進(jìn)程C的訪問遵守一般的最終一致性規(guī)則。
2.讀己之所寫一致性:這是一個(gè)重要的模型。當(dāng)進(jìn)程A自己更新一個(gè)數(shù)據(jù)項(xiàng)之后,它總是訪問到更新過的值,絕不會(huì)看到舊值。這是因果一致性模型的一個(gè)特例。
3.會(huì)話一致性:這是上一個(gè)模型的實(shí)用版本,它把訪問存儲(chǔ)系統(tǒng)的進(jìn)程放到會(huì)話的上下文中。只要會(huì)話還存在,系統(tǒng)就保證“讀己之所寫”一致性。如果由于某些失敗情形令會(huì)話終止,就要建立新的會(huì)話,而且系統(tǒng)的保證不會(huì)延續(xù)到新的會(huì)話。
4.單調(diào)讀一致性:如果進(jìn)程已經(jīng)看到過數(shù)據(jù)對(duì)象的某個(gè)值,那么任何后續(xù)訪問都不會(huì)返回在那個(gè)值之前的值。
5.單調(diào)寫一致性:系統(tǒng)保證來自同一個(gè)進(jìn)程的寫操作順序執(zhí)行。要是系統(tǒng)不能保證這種程度的一致性,就非常難以編程了。
關(guān)于數(shù)據(jù)存儲(chǔ)的一致性模型就介紹這么多,希望本文的理論知識(shí)能對(duì)各位在以后的數(shù)據(jù)庫(kù)開發(fā)道路上有所幫助吧,謝謝各位了!
【編輯推薦】
- Java和Ibatis調(diào)用存儲(chǔ)過程并取得返回值詳解
- Oracle和Sybase根據(jù)系統(tǒng)的pid查詢sql語句的例子
- Oracle數(shù)據(jù)庫(kù)一些不常見但很重要的使用技巧總結(jié)篇
- Oracle數(shù)據(jù)庫(kù)Guid作主鍵時(shí)執(zhí)行速度超慢的原因在哪里
- ASP連接Oracle錯(cuò)誤:800a0e7a未找到提供程序的解決
文章題目:簡(jiǎn)單說一說數(shù)據(jù)存儲(chǔ)的一致性
網(wǎng)頁網(wǎng)址:http://m.fisionsoft.com.cn/article/coigioh.html


咨詢
建站咨詢
