how to use

cassandra是一个无主架构,多个node可以并行写,但并发场景下对于先读后写的操作,数据会有正确性问题。从cassandra2 开始提供轻量级事务支持,用于cas更新。使用示例:

cqlsh> UPDATE cycling.cyclist_name  SET firstname = ‘Roxane’  WHERE id = 4647f6d3-7bd2-4085-8d6c-1229351b5498  IF firstname = ‘Roxxane’;

这其实是一个标准的compare and swap 示例。接下来我们深入看看cassandra是如何实现的,其实我们可以发现,其实它既没有事务,也不轻量级。

理论基础

cassandra轻量级事务是通过basic-paxos协议实现的,提供线性化一致性保证

收藏 打印