我是靠谱客的博主 重要网络,最近开发中收集的这篇文章主要介绍大数据基础理论—一致性模型分类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

0. 前言

从严格意义上来说,理想情况下的一致性模型只有一种就是强一致性模型,但是在真实世界中强一致性是很难被保证的,很多情况下都是弱一致性。主要是基于CAP理论,大多数互联网应用对于可用性有很高的要求,这样就会适当的降低一致性。

一致性模型主要包括:强一致性、弱一致性、因果一致性、读你所写一致性、会话一致性、单调读一致性以及单调写一致性。

1. 强一致性

对于连接到数据库的所有进程,看到的关于某数据的数据值都是一致的。很好理解,就是对于一个数据不管有多少个副本,在任意时刻对任意一个副本访问得到的结果都是一样的。

2.最终一致性

无法保证某个数值做出更新之后,所有针对该值的后续操作都能够看到新值,而需要一一段时间来保证一致性,在一段时间之后能够保证后续操作看到的都是新值。

3. 因果一致性

因果一致性发生在进程之间有相互依赖关系的情形下。例如AB两个进程相互依赖,那么如果A对某个变量进行更新,他在更新之后会通知B,这时候B看到的就是新值,但是如果还有进程C,那么C看到的值可能还是旧值。

4. 读你所写一致性

其是因果一致性的一个特例,进程A对数据做了更新之后,会立马给自己发送一个通知,所以进程A在之后的操作都是以新值为基础进行的。

5. 会话一致性

当进程A通过会话与数据库进行连接时,在同一个会话中,可以保证读你所写一致性。而在不一致窗口内,如果因为系统故障等原因导致会话终止,那么进程A仍旧可能读出旧值。

6.单调读一致性

如果一个进程读取到数据的某个版本V2的值,那么系统后续的所有读操作都不能看到比V2更老的版本的数值。

7. 单调写一致性

对于某个进程来说,单调写一致性可以保证其多次写操作的序列化。

  • 在实际的系统中要根据具体的情况来选择合适的一致性模型。

最后

以上就是重要网络为你收集整理的大数据基础理论—一致性模型分类的全部内容,希望文章能够帮你解决大数据基础理论—一致性模型分类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部