数据一致性

CAP原理认为一个提供数据服务的存储系统无法同事满足数据一致性(Consistency所有应用程序都能访问得到相同数据),数据可用性(Availibility,在任何时候,任何程序都可以访问),分区耐受性(Partition Tolerance,系统可以跨网络分区线性伸缩)。

大型网站中为保证分布式系统的高可用性,一般会选择强化可用性(A)和伸缩性(P),而在一定程度上放弃一致性(C)。

数据一致性可分为:

1.数据强一致性

各个副本数据在物理存储中总是一致,数据更新操作和操作相应是一直的,只要操作相应通知失败,那么数据一定没被更新

2.数据用户一致

物理存储的各个副本的数据可能是不一致的,但是终端用户访问时,通过纠错和校验机制,可以确定一个一直的且正确的数据返回给用户。

3.数据最终一致

物理存储数据可能不一致,终端用户访问的数据也可能不一致(同一用户连续访问,结果不同;或不同用户同时访问结果不同),但是系统通过一段时间(通常比较短)的自我恢复和修正,数据最终会达到一致。

因为数据的强一致性很难满足,所以需要结合具体的业务逻辑使存储系统达到用户一致,保证最终用户访问的数据正确行。

时间: 2024-10-07 05:22:12

数据一致性的相关文章

FAQ系列 | 如何保证主从复制数据一致性(转)

导读 MySQL主从复制环境中,如何才能保证主从数据的一致性呢? 关于主从复制 现在常用的MySQL高可用方案,十有八九是基于 MySQL的主从复制(replication)来设计的,包括常规的一主一从.双主模式,或者半同步复制(semi-sync replication). 我们常常把MySQL replication说成是MySQL同步(sync),但事实上这个过程是异步(async)的.大概过程是这样的: 在master上提交事务后,并且写入binlog,返回事务成功标记: 将binlog

mysql 数据一致性校验

工作上需要把一个从库提升为主库,但对从库和主库的数据一致性不能保证一样,所以就利用 pt-table-checksum 工作来检查主从的一致性,操作前需要注意的事项: (1)在有些情况下,recursion-method如果不设会报错:Diffs cannot be detected because no slaves were found. 其参数有四:processlist/hosts/dsn=DSN/no,用来决定查找slave的方式是show full processlist还是show

微服务架构下的数据一致性:可靠事件模式

主页:http://www.howardliu.cn/ 博客:微服务架构下的数据一致性:可靠事件模式 在<微服务架构下的数据一致性:概念及相关模式>中介绍了在微服务中实现数据一致性的三种方式,包括可靠事件模式.业务补偿模式.TCC模式.本文重点说一下可靠事件投递. 1. 可靠事件模式 可靠事件模式属于事件驱动架构,微服务完成操作后向消息代理发布事件,关联的微服务从消息代理订阅到该事件从而完成相应的业务操作,关键在于可靠事件投递和避免事件重复消费. 可靠事件投递有两个特性:1)每个服务原子性的完

阿里云分布式缓存OCS与DB之间的数据一致性

[分布式系统的数据一致性问题]   OCS概要介绍 据AlertSite网络分析公司表示,Facebook的响应时间在2010年平均为1秒钟,到2011年中期已提高到了0.73秒.对比来看,响应时间占第二位的LinkedIn,网络下载内容时要花费将近2倍的时间.Twitter的响应时间则整整迟了2秒钟.响应时间优化的首要手段就是采用缓存技术,减少系统间交互请求和磁盘IO. OCS是阿里巴巴集团的分布式缓存产品,支撑着淘宝.阿里巴巴.支付宝的日常运作,尤其在双11等大型活动上,承载了绝大多数的数据

架构、职责、数据一致性

SOA架构设计经验分享—架构.职责.数据一致性 阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DDD+GRASP进行分析和设计(防止主观的判断导致错误的假设) 5.SOA分布式下的数据一致性 5.1.分布式事务(基于DTC的分布式事务) 5.2.事务补偿(提供正向或反向的操作来让数据在业务上是一致的) 5.3.异步EDA(基于异步事件流来实现柔性的

DIX和DIF该诉你,什么叫端到端数据一致性

我们跟数据打交道的人都应该知道,数据在存储系统传输中,经过了多个部件.多种传输通道和复杂的软件处理过程,其中任意一个环节发生错误都可能会导致数据错误.但是这种错误一般无法被立即检测出来,而是后续通过应用在访问数据过程中,才发现数据已经出错,这种数据很难在数据发生错误那一刻被检查出来的错误,我们称为静默数据破坏,即Silent Data Corruption. 静默数据破坏产生原因 数据产生静默数据破坏的原因有很多种,但大致可以归结为以下几类. 硬件错误:内存.CPU.硬盘.数据传输链路等 Fir

分布式环境下的数据一致性问题的方案讨论

由于互联网目前越来越强调分布式架构,如果是交易类系统,面临的将会是分布式事务上的挑战.当然目前有很多开源的分布式事务产品,例如java JTA,但是这种解决方案的成本是非常高的,而且实现起来非常复杂,效率也比较低下.对于极端的情况:例如发布,故障的时候都是没有办法保证强一致性的. 首先,在目前的互联网应用中,我们通过一个比较常见的例子,让大家更深入的了解一下分布式系统设计中关于数据一致性的问题.拿我们经常使用的功能来考虑吧,最近网购比较热门,就以京东为例的,我们来看看京东的一个简单的购物流程 用

SOA架构设计经验分享—架构、职责、数据一致性

阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DDD+GRASP进行分析和设计(防止主观的判断导致错误的假设) 5.SOA分布式下的数据一致性 5.1.分布式事务(基于DTC的分布式事务) 5.2.事务补偿(提供正向或反向的操作来让数据在业务上是一致的) 5.3.异步EDA(基于异步事件流来实现柔性的分布式事务) 6.总结 1.背景介绍 最近一段时

分布式系统的数据一致性问题

关于分布式系统的数据一致性问题(一) 关于分布式系统的数据一致性问题(二) 关于分布式系统的数据一致性问题(四)