Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在某些情况下,cassandra中的增量整数是否可能?_Cassandra_Counter_Consistency - Fatal编程技术网

在某些情况下,cassandra中的增量整数是否可能?

在某些情况下,cassandra中的增量整数是否可能?,cassandra,counter,consistency,Cassandra,Counter,Consistency,假设我有下表: id text PRIMARY_KEY, question_asked (int?), question_answered (int?) 此表将由同一用户每次更新。他无法同时更新此表 我想使用以下查询: UPDATE %s.%s SET question_asked = question_asked + 1 WHERE %s = :execution_id; 如果我在更新此特定案例时使用本地仲裁。关于一致性,我有什么问题吗?如果是这样的话,我很乐意理解原因 我对计数器很熟悉,

假设我有下表:

id text PRIMARY_KEY,
question_asked (int?),
question_answered (int?)
此表将由同一用户每次更新。他无法同时更新此表

我想使用以下查询:

UPDATE %s.%s SET question_asked = question_asked + 1 WHERE %s = :execution_id;
如果我在更新此特定案例时使用本地仲裁。关于一致性,我有什么问题吗?如果是这样的话,我很乐意理解原因


我对计数器很熟悉,直到现在我都是这样使用它的。使用计数器的问题是我无法定义TTL。

不,在Cassandra中,这是不可能的,除非您使用特殊的。但它也有自己的问题——因为它不是幂等的,所以在服务器端出现错误时不会重试,这可能会导致错误的结果


作为解决方法,您可能会尝试使用,但它们非常重,因此使用它们时不要期望高吞吐量。

对于此类操作,请查看计数器列:


请记住,Cassandra威胁计数器不同于正常数据,计数器列需要位于单独的列中。谢谢。正如我提到的-我熟悉计数器,但想知道如果我不怕一致性问题,我是否可以做一个变通方法。我寻找了计数器以外的其他方法。我写道,我不能将TTL用于持有计数器的表,在这种情况下,这对我来说是个问题。然后,您可以选择使用LWT,或者在应用程序级别进行优化-例如,从同一应用程序更新特定ID,某种管道…谢谢。我将尝试一下轻量级事务。