如何确保一个用户插入不受其他用户的影响?
喜欢交易...
您是否将批处理作业与IF NOT EXISTS结合使用?
BEGIN UNLOGGED BATCH
INSERT INTO atable ("user1") value (10)
INSERT INTO atable ("user2") value (-10)
APPLY BATCH
答案 0 :(得分:0)
Cassandra在2.0中引入了'light weight' transaction,但它并不完全尊重ACID属性。
它使用Paxos来保证这种“轻量级”的原子性。交易,但缺乏处理并发交易的隔离解决方案。
解决方案可以在Cassandra之上实现两阶段锁定或某种乐观并发控制。