我了解 cassandra 根据每列的键值对的时间戳(最后一次写入获胜)解决写入冲突。但是有没有办法我们可以通过手动干预来覆盖这种行为?
谢谢,
切坦
不。
Cassandra 只做 LWW。这可能看起来很简单,但 Cassandra 的 Big Query 式数据模型使得它比 Riak 之类的纯键/值存储更不成问题。当您所拥有的只是密钥的不透明值时,您希望能够执行诸如保持冲突写入之类的事情,以便以后可以解决它们。由于 Cassandra 的行不是不透明的,而是更像一个排序的地图,所以 LWW 几乎总是足够的。使用 Cassandra,您可以从多个客户端将新单元格添加到一行,而不必担心冲突。只有当多个客户端写入同一个单元格时才会出现问题,但在这种情况下,您通常可以(并且您可能应该)围绕它进行建模。