首字母缩写BASE用于描述某些数据库(通常是NoSQL数据库)的属性.它通常被称为ACID的反义词.

只有很少的文章涉及BASE的细节,而ACID有很多文章详细介绍了原子性、一致性、隔离性和持久性属性.维基百科只对这个词投入了a few lines.

这给我留下了一些关于the definition的问题:

BA通常可用,S经常处于状态,E通常为可用状态,A状态为经常状态,E状态通常为可用状态,S状态为经常状态

我用this article和我的想象力将这些属性解释如下:

Basically available可以指数据的感知可用性.如果单个 node 出现故障,部分数据将不可用,但整个数据层仍保持运行状态.

  • 这种解释是正确的,还是指的是其他东西?
  • Update:Mau's answer中扣除,是否意味着整个数据层始终接受新数据,即没有阻止立即插入数据的锁定方案?

Soft state:我能找到的只是数据需要周期刷新的概念.如果不刷新,数据将过期或被删除.

  • 自动删除数据库中的数据对我来说似乎很奇怪.
  • 过期或过时的数据更有意义.但这个概念将适用于任何类型的冗余数据存储,而不仅仅是NoSQL.那么它还描述了什么吗?

Eventual consistency意味着,如果有足够的时间,更新最终将波及所有服务器.

  • 我很清楚这片土地.

有人能详细解释一下这些属性吗?

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

推荐答案

基本首字母缩略词由Eric Brewer定义,他也因制定CAP theorem而闻名.

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

  • 一致性
  • 可利用性
  • 分区容差

基本系统放弃了一致性.

  • Basically available表示系统does根据CAP定理保证可用性.
  • Soft state表示即使没有输入,系统的状态也可能随时间改变.这是因为最终的一致性模型.
  • 如果系统在这段时间内没有接收到输入,则Eventual consistency表示系统将随着时间的推移变得一致.

布鲁尔承认the acronym is contrived:

那年早些时候,我和我的学生在他们的办公室里想出了(基地)这个缩写.我同意它有点做作,但"酸"也是如此--比人们意识到的要多得多,所以我们认为它已经足够好了.

Database相关问答推荐

怎么修复ORA-28001: the password has expired

估计数据库大小

递归关系的数据库设计

Sql更新查询

基于邮政编码的纬度和经度

使用 ContentValues 和更新方法更新 sql 数据库

PostgreSQL 是否对只读事务进行了一些性能优化

如何允许多个用户同时连接到我的 H2 数据库?

如何在 Play 2.0 中 for each 环境设置不同的数据库?

查询表的外键关系

如何在 2 个 MySQL 数据库之间传输数据?

SQL-Server:还原数据库时,SQL 命令行中的 NOUNLOAD 和 STATS 是什么意思?

免费的便携式数据库有哪些?

为什么 HikariCP 推荐固定大小的池以获得更好的性能

如何产生幻读?

Oracle (ORA-02270) : no matching unique or primary key for this column-list error

如何在 liquibase 中标记变更集以进行回滚

数据库模式与数据库表空间?

复制没有 LOCK 权限的 postgres 数据库

SQLite 数据库方案作为实体关系模型