`
heipark
  • 浏览: 2077925 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cassandra的事务(1.x,2.x)

 
阅读更多

 

1.x 2.0
  • 行级操作原子性
  • BATCH事务,即一个Batch原子性执行多个DML操作。当一个请求需要操作多个table的时候,它非常有用。
  • 添加轻量级事务,避免race condition问题。

举例:两个人同时提交相同用户名的注册请求,确认not exist 后,同时提交注册请求。这种情况因为是相同的rowkey(用户名),所以cassandra会将后后提交的人信息会覆盖前者。cassandra通过paxos解决该问题。

BEGIN BATCH
  INSERT INTO ...

  UPDATE ....

  INSERT ...
  DELETE ...
  INSERT .....

APPLY BATCH;

# 轻量级事务通过IF子句实现

INSERT INTO USERS (login, email, name, login_count)
values ('jbellis', 'jbellis@datastax.com', 'Jonathan Ellis', 1)
IF NOT EXISTS

 >> 详细  >> 详细

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics