Nosql数据库:数据的一致性
读取一致性
-
强一致性
在任何时间访问集群中任一结点,得到的数据结果一致;@H_404_12@ -
用户一致性 对同一用户,访问集群期间得到的数据一致;
解决用户一致性:使用粘性会话,将会话绑定到特定结点来处理;
这样会降低负载均衡器的性能;@H_404_12@ -
最终一致性
集群中各结点间由于数据同步不及时造成暂时的数据不一致,但数据同步完成后,最终具有一致性;@H_404_12@
更新一致性
- 悲观方式
使用写锁 大幅降低系统响应能力 可能导致死锁
- 乐观方式
先让冲突发生,再检测顺序 自动合并的处理方式极具“领域特定”问题
放宽“一致性约束”
- CAP定理
一致性(Consistency)、可用性(Availability)和分区耐受性(Partition tolerance),3个属性只可能同时满足2个;
分区耐受性的解释:集群因通信故障而划分为多个时仍然可用@H_404_12@
- CA系统
单服务器 集群中出现”分区“,就不可用
- PA/PC
集群出现”分区“时,需要在”一致性“ 和“可用性”间权衡 一般会牺牲部分一致性(eg:使用最终一致性),保证可用性
放宽“持久性”约束
附思维导图
@H_404_12@
参考
Posted by: 大CC | 30JUN,2014
博客:blog.me115.com[订阅]
微博:新浪微博@H_404_12@