博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NoSQL数据库:数据的一致性
阅读量:6005 次
发布时间:2019-06-20

本文共 619 字,大约阅读时间需要 2 分钟。

NoSQL数据库:数据的一致性

读取一致性

  • 强一致性

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

  • 用户一致性

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

  • 最终一致性

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

更新一致性

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

放宽“一致性约束”

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

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

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

放宽“持久性”约束

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

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

附思维导图

参考

Posted by: 大CC | 30JUN,2014

博客: []
微博:

转载地址:http://ojsmx.baihongyu.com/

你可能感兴趣的文章
小白学数据:一文看懂NoSQL数据库
查看>>
阿里云ApsaraDB RDS用户 - OLAP最佳实践
查看>>
菜鸟学Linux命令:Chmod命令和数字文件权限
查看>>
设置AFNetworking网络请求的超时时间
查看>>
从零开始的微信支付接入(一)用户认证
查看>>
linux何检查一个目录是否为空目录
查看>>
压缩介绍、bz2、gz、xz压缩工具
查看>>
StretchRect...果然和文档上说的一样
查看>>
Python成生随机KEY工具
查看>>
将一个数组拆分为几个至少三个元素的递增子序列
查看>>
备忘,解决WIN10下COM注册问题
查看>>
SAP移动解决方案在零售行业的应用方案及案例分享
查看>>
cx_Oracle install
查看>>
jquery ajax从后台获取数据
查看>>
基于Windows平台TSM 6.x版本下,如何删除初始化失败的实例。
查看>>
Start Code School Today!
查看>>
Nginx下载服务生产服务器调优
查看>>
RHEL6.5_KVM_VLAN_SET
查看>>
Windows下GCC编译环境中文乱码解决方案
查看>>
linux cut
查看>>