数据一致性

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

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

数据一致性可分为:

1.数据强一致性

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

2.数据用户一致

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

3.数据最终一致

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

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

posted @ 2017-04-17 23:18  konami  阅读(402)  评论(0编辑  收藏  举报