一显晶、基本原則
1贷岸、CAP原則, ap磷雇、cp或ac沒有cap偿警。
2、acid原則:原子性唯笙、一致性螟蒸、事務(wù)獨(dú)立盒使、持久性。數(shù)據(jù)庫使用該原則七嫌。
3少办、base原則:基本可用(大多數(shù)時(shí)間可用,偶爾不可用)诵原、軟狀態(tài)(數(shù)據(jù)狀態(tài)不要求任意時(shí)刻都完全保持同步)英妓、最終一致性(給定時(shí)間窗口內(nèi)一致性) nosql遵循該原則。
三者關(guān)系:
1)绍赛、一致性:ACID中的c是指操作一致性鞋拟;cap中的c是指數(shù)據(jù)的強(qiáng)一致性(多副本對外表現(xiàn)類似于單副本),是acid的c的子集惹资。
2)、網(wǎng)路分區(qū)(網(wǎng)絡(luò)出現(xiàn)故障):acid的事務(wù)獨(dú)立(I)只能在某個(gè)分區(qū)去執(zhí)行航闺,事務(wù)的序列化要求通信褪测,出現(xiàn)網(wǎng)絡(luò)分區(qū)時(shí),只能在單個(gè)分區(qū)執(zhí)行潦刃。
3)侮措、出現(xiàn)網(wǎng)路分區(qū)時(shí),多個(gè)分區(qū)都各自進(jìn)行acid中的數(shù)據(jù)持久化(D)乖杠。網(wǎng)路分區(qū)解決后分扎,需要對各自的持久化進(jìn)行一致性檢測。
4)胧洒、當(dāng)CAP中P出現(xiàn)時(shí)畏吓,每個(gè)分區(qū)都盡可能執(zhí)行acid,對網(wǎng)絡(luò)分區(qū)問題解決后數(shù)據(jù)的一致性恢復(fù)是有很大幫助卫漫。
4菲饼、冪等性:
一元運(yùn)算 f(f(x)) =f(x) 的運(yùn)算稱為滿足冪等性。
二元運(yùn)算f(x,x)=f(x) ,如 max(x,x)=x,布爾運(yùn)算中的與操作列赎。1 and 1 =1宏悦;
分布式系統(tǒng)中反復(fù)執(zhí)行同一操作與只正確執(zhí)行一次操作效果相同。
二 包吝、一致性模型分類
強(qiáng)一致性饼煞、弱一致性、最終一致性诗越、因果一致性砖瞧、“讀你縮寫”一致性、會(huì)話一致性掺喻、單調(diào)讀一致性和單調(diào)寫一致性芭届。
強(qiáng)一致性:連接到數(shù)據(jù)庫的所有進(jìn)程储矩,看到的某數(shù)據(jù)都是一致的。非強(qiáng)一致性都是弱一致性褂乍。
最終一致性:數(shù)據(jù)更新后持隧,無法保證其他操作能立即看到新數(shù)值,需要一個(gè)時(shí)間片段逃片。
因果一致性:基于進(jìn)程間A通知B的數(shù)據(jù)x 更新到v2一致性屡拨。Nofity(A,B,x,v2)
讀你縮寫一致性:進(jìn)程A 把數(shù)據(jù)x更新為v2后,立即給自己發(fā)出了一條通知褥实。Nofity(A,A,x,v2),因果一致性特例呀狼。