Cassandra LWT 读取
Cassandra LWT reads
据我了解,LWT 插入始终以 SERIAL 一致性级别完成。如果为真,这是否意味着读取作为 LWT 插入的行可以安全地以任何一致性级别读取?
换句话说,我假设 LWT 插入是完全一致的,使得任何后续读取也完全一致,无论一致性级别如何?
您的假设不正确有两个原因。
- SERIAL 仅表示写入的 QUORUM 一致性级别
- 单个 LWT 有可能只在读取时部分应用,因此无法使用 any CL
安全读取
因此,您需要对所有将读取 LWT 写入的查询使用 SERIAL。这将确保在读取 QUORUM 时没有挂起的 LWT。
据我了解,LWT 插入始终以 SERIAL 一致性级别完成。如果为真,这是否意味着读取作为 LWT 插入的行可以安全地以任何一致性级别读取?
换句话说,我假设 LWT 插入是完全一致的,使得任何后续读取也完全一致,无论一致性级别如何?
您的假设不正确有两个原因。
- SERIAL 仅表示写入的 QUORUM 一致性级别
- 单个 LWT 有可能只在读取时部分应用,因此无法使用 any CL 安全读取
因此,您需要对所有将读取 LWT 写入的查询使用 SERIAL。这将确保在读取 QUORUM 时没有挂起的 LWT。