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

 

1.x2.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

 >> 详细 >> 详细

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值