当前位置:  开发笔记 > 数据库 > 正文

BASE术语解释

如何解决《BASE术语解释》经验,为你挑选了3个好方法。

BASE缩写,是用于描述特定的数据库,通常NoSQL数据库的属性.它通常被称为与ACID相反.

只有很少的文章涉及BASE的细节,而ACID有很多文章详细阐述了每个原子性,一致性,隔离性和耐久性属性.维基百科只用了几行来表达这个词.

这让我对定义有一些疑问:

B asically A vailable,S oft state,E ventual consistency

我使用这篇文章和我的想象力将这些属性解释如下:

基本上可用的可以指的是数据的感知可用性.如果单个节点发生故障,部分数据将不可用,但整个数据层仍然可以运行.

这种解释是正确的,还是指其他的?

更新:从Mau的答案中推断,是否意味着整个数据层始终接受新数据,即没有锁定方案阻止数据立即插入?

软状态:我所能找到的只是需要周期刷新的数据概念.如果没有刷新,数据将过期或被删除.

自动删除数据库中的数据对我来说似乎很奇怪.

过期或过时的数据更有意义.但是这个概念适用于任何类型的冗余数据存储,而不仅仅是NoSQL.它描述了别的吗?

最终的一致性意味着在给定足够时间的情况下,更新最终将波及所有服务器.

这个属性对我来说很清楚.


有人可以详细解释这些属性吗?

或者它只是一个牵强附会和毫无意义的缩写,指的是化学中发现的酸和碱的概念?



1> Niels van de..:

BASE的首字母缩略词由Eric Brewer定义,他也因制定CAP定理而闻名.

CAP定理指出分布式计算机系统不能同时保证以下三个属性:

一致性

可用性

分区容差

BASE系统放弃了一致性.

基本上可用表示系统确实根据CAP定理保证可用性.

软状态表示即使没有输入,系统的状态也可能随时间而变化.这是因为最终的一致性模型.

最终的一致性表明系统将随着时间的推移变得一致,因为系统在此期间不接收输入.

布鲁尔确实承认这个首字母缩略词是人为的:

那年早些时候,我和我的学生在办公室里找到了[BASE]的缩写词.我同意它有点做作,但"ACID"也是如此 - 比人们意识到的要多得多,所以我们认为它已经足够好了.


基本可用并不保证可用性.这意味着,它主要是可用的,但服务器可能由于各种原因而停机.

2> Mau..:

它与BASE有关:BASE跳线类型总是基本上可用(对于新关系),处于软状态(他的关系没有持续很长时间)和最终一致(有一天他结婚).


嗯,这实际上是我的日常面包,如果你想要一个认真的答案,ACID.
@Pacerier和Mau,NewSQL怎么样?你会选择NoSQL(BASE)和关系(ACID)吗?

3> 小智..:

基本可用性:数据库似乎在大多数时间都可以工作。

软状态:存储不必始终保持写一致或相互一致。

最终一致性:就如何进行任何数量的更改而言,数据应始终保持一致。

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有