我的理解是 LWT 插入始终以 SERIAL 一致性级别完成。如果为真,这是否意味着读取作为 LWT 插入的行,可以安全地以 ANY 的一致性级别读取?

换句话说,我假设 LWT 插入是完全一致的,无论一致性级别如何,任何后续读取也完全一致?

最佳答案

由于两个原因,您的假设是不正确的。

  • SERIAL仅隐含用于写入
  • 的QUORUM一致性级别
  • 有可能在读取时仅部分应用单个LWT,因此无法通过任何CL
  • 安全读取

    因此,您需要对将读取 LWT 写入的所有查询使用 SERIAL。这将确保在读取 QUORUM 时没有挂起的 LWT。

    关于 Cassandra LWT 读取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28836083/

    10-16 16:23