在cassandra中的交易,我正在使用gocql

时间:2015-04-03 15:59:43

标签: cassandra gocql

如何确保一个用户插入不受其他用户的影响?

喜欢交易...

您是否将批处理作业与IF NOT EXISTS结合使用?

BEGIN UNLOGGED BATCH
INSERT INTO atable ("user1") value (10)
INSERT INTO atable ("user2") value (-10)
APPLY BATCH

1 个答案:

答案 0 :(得分:0)

Cassandra在2.0中引入了'light weight' transaction,但它并不完全尊重ACID属性。

它使用Paxos来保证这种“轻量级”的原子性。交易,但缺乏处理并发交易的隔离解决方案。

解决方案可以在Cassandra之上实现两阶段锁定或某种乐观并发控制。