BASE中的"软状态"是什么意思?

Rub*_*ins 34 database nosql base-db

BASE代表'基本可用,软状态,最终一致'

所以,我到目前为止:"基本上可用:系统可用,但不一定在任何给定时间点都可以使用它"和"最终一致:在一定时间后所有节点都是一致的,但在任何给定的时间可能不是这样的"(如果我错了,请纠正我).

但是,"软州"究竟是什么意思呢?我还没有在互联网上找到任何体面的解释.

DNA*_*DNA 27

此页面(最初在此处,现在仅可从Web存档中获得)可能有所帮助:

[soft state]是用户放入系统的信息(状态),如果用户不维护它将会消失.换句话说,除非刷新,否则信息将过期.

相比之下,典型的简单灯开关的位置是"硬态".如果你把它翻过来,它会熬夜,可能永远.当你(或其他一些用户)明确地回来操纵它时,它只会变回.

  • BASE的首字母缩略词有点人为,大多数NoSQL商店实际上并不需要以这种方式刷新数据.在http://stackoverflow.com/questions/3342497/explanation-of-base-terminology上有另一种解释,暗示软状态意味着系统将在没有用户干预的情况下改变状态,因为最终的一致性(但随后是软状态部分)首字母缩略词是多余的).正如你所说,可以用TTL设置Cassandra以使其完全处于软状态,但这是一种不寻常的使用模式(本质上是瞬态缓存). (3认同)

小智 7

我在课堂上被教导“软状态”意味着系统的状态会随着时间的推移而改变(即使在没有输入的时候),因为“最终一致性”可能会发生变化。这就是为什么说“软”状态。

一些来源:链接


Eug*_*gen 5

软状态意味着数据不会保留在磁盘上,但是如果发生故障,则可以恢复它(例如,从高质量的图像重新创建质量较低的图像).解决这个问题和其他有趣问题的好文章是基于群集的可扩展网络服务