database - BASE 术语解释

标签 database nosql terminology definition base-db

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/

相关文章:

java - 通过 HTTPS 请求在 Android 中访问 MySQL 数据库数据的最佳方式

database - Redis 高效创建键

terminology - 什么词或短语表示 "white space"的反义词?

go - "vendoring"在 Go 中是什么意思?

namespaces - 上下文和命名空间有什么区别?

database - 在 Access 中的天数后用 'nd' 或 'th' 格式化日期

database - 在odoo中按登录用户选择数据库

database - 在 SAS 中连接来自两个 Oracle 数据库的表

java - HBase:原子 'check row does not exist and create' 操作

ruby - 使用 mongodb/mongoid 运行时更改模型