数据一致性

Posted konami

tags:

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

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

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

数据一致性可分为:

1.数据强一致性

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

2.数据用户一致

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

3.数据最终一致

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

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

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

MySQL主备库数据一致性校验及修复

NoSQL数据库:数据的一致性

如何保证solr跟数据库的数据一致性

如何恢复MySQL主从数据一致性

关于数据一致性的理论

如何保证数据库缓存的最终一致性?