更新時(shí)間:2022-11-14 來(lái)源:黑馬程序員 瀏覽量:
數(shù)據(jù)一致性是指在對(duì)一個(gè)副本數(shù)據(jù)進(jìn)行更新的同時(shí),必須確保也能夠更新到其他的副本,否則不同的副本之間的數(shù)據(jù)將不再一致。例如,當(dāng)你在某銀行已存有5000元,接著又存了1000元,然后跑到另一個(gè)地方游山玩水,需要在當(dāng)?shù)氐你y行把這6000元取出來(lái),但是存錢的銀行并沒有及時(shí)將你存錢的信息傳給當(dāng)?shù)氐你y行,所以當(dāng)?shù)氐你y行還不知道你已經(jīng)存了1000元進(jìn)去,當(dāng)?shù)劂y行的工作人員告訴你賬戶余額只有5000元,這時(shí)你的同一賬戶的余額在不同地點(diǎn)就出了不一致的情況。
數(shù)據(jù)的一致性有3種類型,即強(qiáng)一致性、弱一致性以及最終一致性,具體介紹如下。
(1)強(qiáng)一致性是指對(duì)數(shù)據(jù)完成更新操作之后,所有客戶端訪問到的數(shù)據(jù)均為更新之后的數(shù)據(jù),這樣可以保證客戶端獲取的是最新數(shù)據(jù),但是若要達(dá)到強(qiáng)一致性,將會(huì)降低性能。
(2)弱一致性是指當(dāng)數(shù)據(jù)完成更新操作之后,系統(tǒng)并不保證所有的客戶端訪問到的數(shù)據(jù)都是最新數(shù)據(jù),但是會(huì)盡量保證在某個(gè)時(shí)間(如秒級(jí)或分鐘級(jí))內(nèi)讓數(shù)據(jù)達(dá)到一致性狀態(tài)。
(3)最終一致性是弱一致性的一種特例,當(dāng)對(duì)數(shù)據(jù)更新完之后,保證沒有后續(xù)更新的前提下,系統(tǒng)最終返回的是上一次更新操作的值。