数据岗位面试题更新 2026-08-05

在 Cassandra 中,轻量级事务(LWT)具体指什么,它如何工作,以及它解决了哪些一致性问题?

数据风险判断技术原理Apache Cassandra

考察说明

考查对 Cassandra 轻量级事务概念、原理及适用场景的理解。

回答思路

  1. 【回答框架 1】轻量级事务是 Cassandra 基于 Paxos 协议实现的原子条件更新操作,用于在分布式环境中提供类似单行事务的线性一致性能力。
  2. 【回答框架 2】其核心机制是乐观并发控制,通过 compare-and-set 操作实现,在写入前校验某一个或多个列的值是否满足给定条件,满足则写入,否则不生效。
  3. 【回答框架 3】LWT 常用于实现诸如计数器、唯一约束或简单的分布式锁等需要原子性的场景,但会带来额外的性能开销,因此在高吞吐写入场景需谨慎使用。
  4. 【回答框架 4】Cassandra 的 LWT 仅保证单行或单分区内的原子性,不提供跨分区或跨表的事务支持,其一致性级别默认需要达到 SERIAL 或 LOCAL_SERIAL 才能获得线性一致性保证。
  5. 【关键点 1】LWT 基于 Paxos 协议,CAS 操作。
  6. 【关键点 2】实现单行级原子条件更新,如 compare-and-set。
  7. 【关键点 3】需在 SERIAL 或 LOCAL_SERIAL 一致性级别下使用。
  8. 【关键点 4】适用于计数器、唯一约束或锁,但性能开销大。
  9. 【易错点 1】不适用的场景:高并发写热分区,会显著增加延迟。
  10. 【易错点 2】LWT 不提供跨行或跨表事务,防止错误扩展其能力。