NoSQL数据库:数据的一致性

Posted gavanwanggw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NoSQL数据库:数据的一致性相关的知识,希望对你有一定的参考价值。

NoSQL数据库:数据的一致性

读取一致性

  • 强一致性
    在不论什么时间訪问集群中任一结点,得到的数据结果一致;

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

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

更新一致性

  • 悲观方式
    使用写锁
    大幅减少系统响应能力
    可能导致死锁
  • 乐观方式
    先让冲突发生。再检測顺序
    自己主动合并的处理方式极具“领域特定”问题

放宽“一致性约束”

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

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

  • CA系统
      单server
      集群中出现”分区“,就不可用
  • PA/PC
      集群出现”分区“时,须要在”一致性“ 和“可用性”间权衡
      通常会牺牲部分一致性(eg:使用终于一致性),保证可用性

放宽“持久性”约束

更严格的持久性。意味着很多其它的性能损失;

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

附思维导图

NoSQL:数据的一致性

參考

《NoSQL精粹》

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

以上是关于NoSQL数据库:数据的一致性的主要内容,如果未能解决你的问题,请参考以下文章

NoSQL数据库:数据的一致性

什么是nosql数据库?nosql和rdbms有什么区别

NoSQL和数据可扩展性

Nosql

关于NOSQL

为什么海量数据场景中NoSQL越来越重要?