gpt4 book ai didi

Cassandra - 具有相同时间戳的混合列更新的冲突解决方案

转载 作者:行者123 更新时间:2023-12-02 00:46:56 25 4
gpt4 key购买 nike

我想知道在具有相同客户端时间戳的两次更新的情况下哪个写入获胜。

初始数据:KeyA: { col1:"val AA", col2:"val BB", col3:"val CC"}

客户端 1 发送更新:KeyA: { col1:"val C1", col2:"val B1"}

客户端 2 发送更新:KeyA: { col1:"val C2", col2:"val B2"}

两个更新具有相同的时间戳

KeyA进行行查询会返回什么结果?

  1. { col1:"val C1", col2:"val B1", col3:"val CC"} - Clint 1 获胜
  2. { col1:"val C2", col2:"val B2", col3:"val CC"} - 客户端 2 获胜
  3. { col1:"val C2", col2:"val B1", col3:"val CC"} - 混合更新

我预计,该结果是不可预测的 - 因为两个更新具有相同的时间戳。

混合场景也可能吗?

最佳答案

时间戳是每列的属性,而不是整个插入本身的属性。通过比较实际列值本身来解析具有相同精确时间戳的多个列。这是通过按字节对值进行词法比较来完成的,以便返回的值是确定的。

因此,在您的示例中,如果两个客户端插入的每一列都具有相同的精确时间戳,则您可能会看到混合更新,具体取决于实际列值的比较方式。

关于Cassandra - 具有相同时间戳的混合列更新的冲突解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9602413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com