Nosql数据库原理学习:CAP原理、BASE和最终一致性
发布日期:2021-06-30 15:41:15 浏览次数:3 分类:技术文章

本文共 1296 字,大约阅读时间需要 4 分钟。

 

 

文章目录

  • CAP原理
    • 1.CAP原理
    • 2.CAP实用性
  • BASE和最终一致性
    • 选择策略
    • 最终一致

 


前言

本人大数据专业初入大三刚刚接触并开始学习Nosql数据库原理,当然初入一些算法和原理还不是很熟练掌握,有待提升自己的编程结合能力。在此领域本人有诸多不明确疑问,可能文章会有些许错误,望大家在评论区指正,本篇文章错误将会不断更正维护。


 

一、CAP

1.CAP原理

CAP是指分布式系统中Consistency(一致性)、Availibility(可用性)、Partition tolerance(分区容错性)三个特性。

根据学习资料了解

C(一致性):是指分布式系统中所有节点都能对某个数据达成共识。具体到NoSQL系统中表示,主要关注数据的多个副本内容是否相同,多篇论文也称之为Atomic(原子性),以便和ACID中的术语相贴切。简单的来说,就是保持其他节点与该节点保存的副本文件内容一致。当然在多副本的情况下,就要在数据写入、读取等过程设计一致性策略。

A(可用性):是指系统能够对用户的操作给予反馈。这里的可用性通常是指系统的反馈的及时程度,符合大多数软件系统对用户的反馈效果。当然还有一些操作系统将不给予反馈,需要操作者自己处理查询。

P(分区容错性):也可称之为分区保护性。可以这么理解:当该集群有一节点发生故障导致信息不可传递或者部分消息丢包,此时系统分为了多个区域,该区域下该节点失能但却对该分区功能影响不大,仍可以继续工作,继续提供服务。

CAP理论认为分布式系统只能兼顾其中两个特性,既该集群只有CA、CP、AP者三种情况。兼顾CA则系统不能采用多副本,兼顾CP则必须容忍系统响应迟缓,兼顾AP则需要容忍系统内多副本数据可能出现不一致的情况。

2.CAP原理实用性

在实践中,一般会根据实际情况进行权衡,支持用户进行策略选择。CAP不仅仅可理解为用在分布式软件的设计原则上,在不同的层面、子系统或模块中,都可以根据CAP原理制定局部策略。不仅适用于大数据、Nosql领域,也适用于网站的分布式架构设计和业务流程设计等方面。

 

二、BASE和最终一致性

1.选择策略

根据CAP原理可知无法实现兼顾C、A、P三个原理的完美方案。因此在Nosql数据库的设计就会遇到采取策略的问题,比如稳二保一等。为了解决难题,便提出了BASE原则。

(1)Basically Available(基本可用):允许分布式系统中部分节点或功能出现故障的情况下,系统的核心部分或其他数据仍然可用。

(2)Soft-state(软状态/柔性事务): 允许系统中出现“中间状态”,在Nosql中可以体现为允许多个副本存在暂时的不一致情况。

(3)Eventual Consistency(最终一致性):允许系统的状态或者多个副本之间存在暂时的不一致,但随着时间的推移,总会变得一致。

2.最终一致

最终一致性可以看作是BASE理论的核心,即通过弱化一致性要求,实现更好的伸缩性、可靠性和响应能力。Nosql和关系型数据库在一致性上的取舍差异,也体现出二者不能像代替的特点。


总结

稳扎稳打

参阅博客:

转载地址:https://jxnuxwt.blog.csdn.net/article/details/108816426 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Hadoop中HDFS优缺点
下一篇:机器学习:性能度量篇-Python利用鸢尾花数据绘制ROC和AUC曲线

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月28日 23时03分39秒