BASE 首字母缩略词用于描述某些数据库的属性,通常是NoSQL数据库。它通常被称为ACID的反面。
只有少数文章涉及BASE的细节,而ACID有很多文章详述了每个原子性,一致性,隔离性和耐久性属性。维基百科仅将a few lines用于该术语。
这让我对定义:
有些疑问B aslica A vailable, S oft状态, E 文本一致性
我使用this article和我的想象力将这些属性解释如下:
基本上可用可以指代感知的数据可用性。如果单个节点发生故障,部分数据将无法使用,但整个数据层仍可运行。
软状态:我所能找到的只是需要周期刷新的数据概念。如果没有刷新,数据将过期或被删除。
最终一致性意味着如果有足够的时间,更新最终将会传播到所有服务器。
有人可以详细解释这些属性吗?
或者它只是一个牵强附会且毫无意义的缩写,指的是化学中发现的酸和碱的概念?
答案 0 :(得分:131)
BASE首字母缩略词由Eric Brewer定义,他也因制定CAP theorem而闻名。
CAP定理指出分布式计算机系统不能同时保证以下三个属性:
BASE系统放弃了一致性。
Brewer确实承认the acronym is contrived:
那年早些时候,我和我的学生在办公室里找到了[BASE]的缩写词。我同意它有点人为,但“ACID”也是如此 - 比人们意识到的要多得多,所以我们认为它已经足够好了。
答案 1 :(得分:34)
它与BASE有关:BASE跳线类型总是基本上可用(对于新的关系),处于软状态(他的关系没有持续很长时间)和最终一致(有一天他将结婚。)
答案 2 :(得分:4)
基本可用性:该数据库似乎大部分时间都可以正常工作。
软状态:存储不必始终保持写一致或相互一致。
最终一致性:关于如何执行任意数量的更改,数据应始终保持一致。
答案 3 :(得分:1)
可能只是因为ACID是物质显示的一组属性(在化学中)而BASE是它们的补充集。所以它可能只是为了显示两者之间的对比,这个首字母缩略词是由“基本上可用的软状态最终一致性”被确定为完整形式。
答案 4 :(得分:1)
ACID和BASE分别是RDBMS和NoSQL的一致性模型。 ACID交易更为悲观,即他们更担心数据安全。在NoSQL数据库世界中,ACID事务较不流行,因为一些数据库已经放松了对即时一致性,数据新鲜度和准确性的要求,以便获得其他好处,例如可伸缩性和弹性。
BASE代表-
因此,BASE放松了一致性,以允许系统即使在不一致的状态下也可以处理请求。
示例:没有人会介意他们的推文在短时间内在社交网络中不一致。获得即时响应比保持一致的用户信息状态更为重要。
答案 5 :(得分:0)
为补充其他答案,我认为首字母缩略词的出现是为了显示两个术语之间的比例,以区分RDMS与大数据之间的事务或请求的可靠性。
摘自本文acid vs base
在化学中,pH值可测量 水溶液(水溶液)。 pH值范围从0开始 (高酸性物质,如电池酸)至14(高碱性) 谎言之类的物质); 25°C(77°F(25°C))的纯水的pH为7, 中性。
数据工程师巧妙地借用了化学家和 创建了首字母缩写词,尽管其含义不完全相同,但仍很恰当 给定数据库系统中正在发生的事情的表示形式 在讨论事务处理的可靠性时。
另外一点,因为我使用Elasticsearch处理大数据。为了明确起见,Elasticsearch的一个实例是一个节点,一组节点组成一个集群。
从我的实际角度来看,BA(基本可用)在这种情况下具有多个主节点来处理Elasticsearch集群及其操作的想法。
如果您有3个主节点,并且当前指挥的主节点发生故障,则系统将处于运行状态,尽管处于较低效率状态,并且另一个主节点将代替其作为主指挥的主节点。如果两个主节点发生故障,系统仍将保持运行状态,最后一个主节点将接管工作。