NoSQL数据库:数据的一致性
生活随笔
收集整理的這篇文章主要介紹了
NoSQL数据库:数据的一致性
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
NoSQL數(shù)據(jù)庫:數(shù)據(jù)的一致性
讀取一致性
-
強(qiáng)一致性
在任何時(shí)間訪問集群中任一結(jié)點(diǎn),得到的數(shù)據(jù)結(jié)果一致; -
用戶一致性
對同一用戶,訪問集群期間得到的數(shù)據(jù)一致;
解決用戶一致性:使用粘性會(huì)話,將會(huì)話綁定到特定結(jié)點(diǎn)來處理;
這樣會(huì)降低負(fù)載均衡器的性能; -
最終一致性
集群中各結(jié)點(diǎn)間由于數(shù)據(jù)同步不及時(shí)造成暫時(shí)的數(shù)據(jù)不一致,但數(shù)據(jù)同步完成后,最終具有一致性;
更新一致性
- 悲觀方式 使用寫鎖 大幅降低系統(tǒng)響應(yīng)能力 可能導(dǎo)致死鎖
- 樂觀方式 先讓沖突發(fā)生,再檢測順序 自動(dòng)合并的處理方式極具“領(lǐng)域特定”問題
放寬“一致性約束”
- CAP定理
一致性(Consistency)、可用性(Availability)和分區(qū)耐受性(Partition tolerance),3個(gè)屬性只可能同時(shí)滿足2個(gè);
分區(qū)耐受性的解釋:集群因通信故障而劃分為多個(gè)時(shí)仍然可用
- CA系統(tǒng) 單服務(wù)器集群中出現(xiàn)”分區(qū)“,就不可用
- PA/PC 集群出現(xiàn)”分區(qū)“時(shí),需要在”一致性“ 和“可用性”間權(quán)衡一般會(huì)犧牲部分一致性(eg:使用最終一致性),保證可用性
放寬“持久性”約束
更嚴(yán)格的持久性,意味著更多的性能損失;
- 犧牲“持久性”換取更好的性能
- 復(fù)制“持久性”故障 主節(jié)點(diǎn)故障,未同步到從節(jié)點(diǎn)的數(shù)據(jù)丟失主節(jié)點(diǎn)恢復(fù),故障期間更新的數(shù)據(jù)沖突解決方案:針對單個(gè)請求指定其所需的持久性
附思維導(dǎo)圖
參考
《NoSQL精粹》
Posted by: 大CC | 30JUN,2014
博客:blog.me115.com [訂閱]
微博:新浪微博
轉(zhuǎn)載于:https://www.cnblogs.com/me115/p/3816132.html
總結(jié)
以上是生活随笔為你收集整理的NoSQL数据库:数据的一致性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用maven时报错Dynamic We
- 下一篇: flex布局较之float布局的优点新发