2

众所周知,我们在 cassandra 中有 ReplicationFactor 的 ConsistencyLevel。我们只想利用它来保持数据一致性。因为它应该保留价格信息。

那么哪种策略更好呢?

Write ALL 确保在响应客户端之前将写入写入所有 N 个副本。任何无响应的副本都将导致操作失败

Read ALL 将查询所有副本,并在所有副本都回复后返回具有最新时间戳的记录。任何无响应的副本都会使操作失败。

看来写 ALL 肯定是最安全的。但不确定 Read all 是否更好?对它的优缺点有什么看法吗?您认为任何其他的 nosql 选择更好吗?

4

1 回答 1

2

“更好”取决于您要达到的目标。在一致性级别 ALL 上使用写入或读取意味着即使一个节点没有响应,您的集群也将无法写入(或读取)。

通常,在一致性级别 QUORUM 写入和读取是一种有效的平衡方法,因为它提供完全一致性(您永远不会读取过时的值),但也可以容忍少数节点的故障。

但“最佳”方法取决于您的应用程序以及您实际需要多少一致性。特别是,如果您可以容忍较低的一致性,您可以获得更好的读写性能(以及更好的可用性)。

于 2011-12-14T23:14:53.763 回答