我有一个Cassandra集群设置,如Node N1,Node N2和Node N3
我有一个用户表,我需要在集群中的节点上为它创建一个行级锁定,那么请你回答以下问题来指导我吗?
1) What is the maximum level of locking possible in Cassandra?
2) What is lightweight transaction? How much it is possible to achieve row level locking?
3) Is there an alternate way to achieve the row level locking in Cassandra?
帮助非常感谢。
谢谢, 哈利
答案 0 :(得分:3)
答案 1 :(得分:1)
cassandra没有交易,没有锁定。然而,重量轻的交易。他们并不伟大,表现更差,并且有很多权衡。
根据此锁的用例,您可以执行以下操作:
INSERT INTO User (userID, email)
VALUES (‘MyGuid’, ‘user@example.com’)
IF NOT EXISTS;
如果查询返回错误/失败,您将不得不处理它,如果有人在您之前插入,它就不会失败。失败也可能意味着您的1个节点确实获得了写入但不是全部。 LWT不会退回。