码迷,mamicode.com
首页 > 数据库 > 详细

NoSQL数据库:数据的一致性

时间:2014-07-02 16:03:40      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:服务器   数据库   均衡器   耐受性   持久性   nosql   

NoSQL数据库:数据的一致性

读取一致性

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

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

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

更新一致性

  • 悲观方式

    使用写锁
    大幅降低系统响应能力
    可能导致死锁
  • 乐观方式

    先让冲突发生,再检测顺序
    自动合并的处理方式极具“领域特定”问题

放宽一致性约束

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

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

  • CA系统

      单服务器
      集群中出现分区,就不可用
  • PA/PC

      集群出现分区时,需要在一致性 和可用性间权衡
      一般会牺牲部分一致性(eg:使用最终一致性),保证可用性

放宽持久性约束

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

  • 牺牲持久性换取更好的性能

  • 复制持久性故障

      主节点故障,未同步到从节点的数据丢失
      主节点恢复,故障期间更新的数据冲突
      解决方案:针对单个请求指定其所需的持久性

附思维导图

bubuko.com,布布扣

参考

《NoSQL精粹》

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

本文出自 “colin” 博客,请务必保留此出处http://me115.blog.51cto.com/86104/1433356

NoSQL数据库:数据的一致性,布布扣,bubuko.com

NoSQL数据库:数据的一致性

标签:服务器   数据库   均衡器   耐受性   持久性   nosql   

原文地址:http://me115.blog.51cto.com/86104/1433356

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!