BASE首字母缩写用于描述某些数据库的属性,通常是NoSQL数据库。它通常被称为ACID的反义词。
只有少数文章涉及BASE的细节,而ACID有大量文章详细介绍原子性、一致性、隔离性和持久性属性。维基百科上只写了几行字。
这给我留下了一些关于定义的问题:
基本可用,软状态,最终一致性
运用这篇文章和我的想象,我对这些属性的解释如下:
基本可用指的是数据的可获得性。如果单个节点发生故障,部分数据将不可用,但整个数据层仍可运行。
这种解释是正确的,还是指的是别的什么东西?
更新:从Mau的回答中推断,这是否意味着整个数据层一直在接受新数据,即不存在阻止数据立即插入的锁定场景?
软状态:我所能找到的只是数据需要周期刷新的概念。如果不进行刷新,数据将过期或被删除。
自动删除数据库中的数据对我来说很奇怪。
过期或过期的数据更有意义。但这个概念适用于任何类型的冗余数据存储,而不仅仅是NoSQL。它描述的是别的东西吗?
最终的一致性意味着,只要有足够的时间,更新将最终波及所有服务器。
这个性质我很清楚。
有人能详细解释一下这些属性吗?
或者它只是一个牵强的和毫无意义的首字母缩略词,指的是化学中发现的酸和碱的概念?
为了补充其他答案,我认为这些首字母缩写是为了显示两个术语之间的比例,以区分RDMS与大数据之间的事务或请求有多可靠。
从这篇文章酸与碱
In Chemistry, pH measures the relative basicity and acidity of an
aqueous (solvent in water) solution. The pH scale extends from 0
(highly acidic substances such as battery acid) to 14 (highly alkaline
substances like lie); pure water at 77° F (25° C) has a pH of 7 and is
neutral.
Data engineers have cleverly borrowed acid vs base from chemists and
created acronyms that while not exact in their meanings, are still apt
representations of what is happening within a given database system
when discussing the reliability of transaction processing.
还有一点,由于我一直在使用Elasticsearch处理大数据,如果我解释一下它的结构将会有所帮助。Elasticsearch的一个实例是一个节点,一组节点组成一个集群。
对我来说,从实际的角度来看,在这种情况下,BA(基本可用)具有多个主节点来处理Elasticsearch集群及其操作的想法。
如果您有3个主节点,当前的指导主节点宕机,系统将保持正常,尽管处于较低的效率状态,另一个主节点将取代它作为主要指导主节点。如果两个主节点宕机,系统仍然正常运行,最后一个主节点接管。