BASE 首字母缩略词用于描述某些数据库的属性,通常是 NoSQL 数据库。它通常被称为 ACID 的反义词。 .
只有少数文章涉及 BASE 的细节,而 ACID 有大量文章详细阐述了原子性、一致性、隔离性和持久性的每个属性。维基百科只致力于a few lines到术语。
这给我留下了一些关于定义的问题:
Basically Available, Soft state, Eventual consistency
我使用 this article 解释了这些属性如下和我的想象力:
基本可用 可以指数据的感知可用性。如果单个节点发生故障,部分数据将不可用,但整个数据层仍可运行。
- 这个解释是正确的,还是指的是别的东西?
- 更新:从Mau's answer推导出来, 这是否意味着整个数据层总是在接受新数据,即没有阻止数据立即插入的锁定场景?
软状态:我能找到的只是数据需要周期刷新的概念。如果不刷新,数据将过期或被删除。
- 自动删除数据库中的数据对我来说很奇怪。
- 过期或陈旧的数据更有意义。但这个概念适用于任何类型的冗余数据存储,而不仅仅是 NoSQL。那么它描述的是其他东西吗?
最终一致性意味着如果有足够的时间,更新最终会波及到所有服务器。
- 我很清楚这个属性。
谁能详细解释一下这些属性?
或者它只是一个牵强附会且毫无意义的首字母缩略词,指的是化学中酸和碱的概念?
最佳答案
BASE 首字母缩略词由 Eric Brewer 定义,谁也因制定CAP theorem而闻名.
CAP 定理指出分布式计算机系统不能同时保证以下所有三个属性:
- 一致性
- 可用性
- 分区容差
BASE 系统放弃了一致性。
- 基本可用表示根据 CAP 定理,系统确实保证了可用性。
- Soft state 表示即使没有输入,系统的状态也可能随时间发生变化。这是因为最终一致性模型。
- Eventual consistency 表示系统将随着时间的推移变得一致,前提是系统在此期间没有接收到输入。
Brewer 确实承认 the acronym is contrived :
I came up with [the BASE] acronym with my students in their office earlier that year. I agree it is contrived a bit, but so is "ACID" -- much more than people realize, so we figured it was good enough.
关于database - BASE 术语解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3342497/