首頁 > 資料庫 > mysql教程 > NoSQL数据库:数据的一致性

NoSQL数据库:数据的一致性

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 15:58:10
原創
1917 人瀏覽過

NoSQL数据库:数据的一致性 读取一致性 强一致性 在任何时间访问集群中任一结点,得到的数据结果一致; 用户一致性 对同一用户,访问集群期间得到的数据一致; 解决用户一致性:使用粘性会话,将会话绑定到特定结点来处理; 这样会降低负载均衡器的性能; 最

NoSQL数据库:数据的一致性

读取一致性

强一致性
在任何时间访问集群中任一结点,得到的数据结果一致;

用户一致性
对同一用户,访问集群期间得到的数据一致;
解决用户一致性:使用粘性会话,将会话绑定到特定结点来处理;
这样会降低负载均衡器的性能;

最终一致性
集群中各结点间由于数据同步不及时造成暂时的数据不一致,但数据同步完成后,最终具有一致性;

更新一致性

悲观方式
使用写锁
大幅降低系统响应能力
可能导致死锁
登入後複製
乐观方式
先让冲突发生,再检测顺序
自动合并的处理方式极具“领域特定”问题
登入後複製

放宽“一致性约束”

CAP定理
一致性(Consistency)、可用性(Availability)和分区耐受性(Partition tolerance),3个属性只可能同时满足2个;

分区耐受性的解释:集群因通信故障而划分为多个时仍然可用

CA系统
  单服务器
  集群中出现”分区“,就不可用
登入後複製
PA/PC
  集群出现”分区“时,需要在”一致性“ 和“可用性”间权衡
  一般会牺牲部分一致性(eg:使用最终一致性),保证可用性
登入後複製

放宽“持久性”约束

更严格的持久性,意味着更多的性能损失;

牺牲“持久性”换取更好的性能复制“持久性”故障
  主节点故障,未同步到从节点的数据丢失
  主节点恢复,故障期间更新的数据冲突
  解决方案:针对单个请求指定其所需的持久性
登入後複製

附思维导图

NoSQL:数据的一致性

参考

《NoSQL精粹》

Posted by: 大CC | 02JUL,2014
博客:blog.me115.com [订阅]
微博:新浪微博

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
nosql - 如何正確的使用mongodb
來自於 1970-01-01 08:00:00
0
0
0
nosql - redis 還是 mongodb?
來自於 1970-01-01 08:00:00
0
0
0
nosql - redis expire 疑問
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板