【问题标题】:What does 'soft-state' in BASE mean?BASE 中的“软状态”是什么意思?
【发布时间】:2011-06-18 14:02:22
【问题描述】:

BASE 代表“基本可用、软状态、最终一致”

所以,我已经走到了这一步:“基本可用:系统可用,但不一定在任何给定时间点所有项目都可用”和“最终一致:在一定时间后,所有节点都是一致的,但在任何给定的时间,情况可能都不是这样”(如果我错了,请纠正我)。

但是,“软状态”究竟是什么意思?我还没有在互联网上找到任何合适的解释。

【问题讨论】:

标签: database nosql base-db


【解决方案1】:

BASE 系统放弃一致性以提高数据库的性能。因此,大多数著名的 NoSQL 数据库都比符合 ACID 的关系数据库具有高可用性和可扩展性。

软状态表示即使没有输入,系统的状态也可能随时间变化。这是因为最终一致性模型。 最终一致性表明系统会随着时间的推移变得一致。

例如,考虑两个系统,例如 AB。如果用户将数据写入系统A,则将这些写入的数据反映到B 会有一些延迟,通常在毫秒内(取决于网络速度和同步设计)。

【讨论】:

  • 我不确定我是否同意“更强大”的部分,因为这完全取决于场景。通过放弃 ACID 合规性,它们在某些情况下可能会表现得更好。
  • 是的,这取决于机器和运行的应用程序。但是由于其多系统方法,BASE 系统通常同时具有多个写入。而在 ACID 兼容系统中,单次写入是可能的。
【解决方案2】:

这个页面(最初是here,现在只能从web archive获得)可能会有所帮助:

[软状态]是用户放入系统的信息(状态) 如果用户不维护它,它将消失。换一种说法, 除非刷新,否则信息将过期。

相比之下,一个典型的简单电灯开关的位置是 “硬状态”。如果你把它翻起来,它会一直保持下去,可能永远。它 仅当您(或其他用户)明确更改回 回来操纵它。

BASE 的缩写有点做作,大多数 NoSQL 存储实际上并不需要以这种方式刷新数据。有another explanation 暗示软状态意味着由于最终的一致性,系统将在没有用户干预的情况下更改状态(但首字母缩略词的软状态部分是多余的)。

在某些特定用途中,状态确实必须由用户刷新;例如,在 Cassandra NoSQL 数据库中,可以为所有行设置一个生存时间以使它们完全处于软状态(除非刷新,否则它们将过期),但这是一种不寻常的使用模式(本质上是临时缓存) .

“软状态”也可能适用于 Cassandra 中的 gossip 协议;一个新的节点可以从它接收到的gossip消息来判断集群的状态,并且这个集群状态必须不断的刷新来检测无响应的节点。

【讨论】:

  • 如果是 Cassandra,它应该是列上的 TTL,对吧?这意味着并非所有数据都会自动过期,但可以对数据设置过期时间 - 是否正确?
  • BASE 的缩写有点做作,大多数 NoSQL 存储实际上并不需要以这种方式刷新数据。 stackoverflow.com/questions/3342497/… 有另一种解释,暗示软状态意味着由于最终的一致性,系统将在没有用户干预的情况下更改状态(但首字母缩略词的软状态部分是多余的)。正如您所说,可以使用 TTL 设置 Cassandra 以使其完全处于软状态,但这是一种不寻常的使用模式(本质上是临时缓存)。
  • “软状态”也可能适用于 Cassandra 中的 gossip 协议;一个新的节点可以从它接收到的gossip消息来判断集群的状态,并且这个集群状态必须不断的刷新来检测无响应的节点。
  • 链接已失效 :( 幸运的是,它在 Web 存档中:web.archive.org/web/20120630030359/http://www.tekelec.com/…
【解决方案3】:

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

部分来源:link

【讨论】:

    【解决方案4】:

    软状态是指未保存在磁盘上的数据,但在发生故障时可以恢复它(例如,从高质量图像重新创建低质量图像)。一篇解决这个问题和其他有趣问题的好文章是Cluster-Based Scalable Network Services

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 2015-09-17
      • 2011-11-14
      • 2014-01-30
      • 2018-07-05
      • 2021-07-03
      相关资源
      最近更新 更多