gpt4 book ai didi

cassandra - 在 Cassandra 中,如果我运行一个递增计数器的查询,那么从该计数器中选择是原子的吗?

转载 作者:行者123 更新时间:2023-12-02 22:33:58 24 4
gpt4 key购买 nike

如果我运行一个递增计数器的查询,那么从该计数器中选择的是原子吗?

我想使用 Cassandra 生成更小的(整数)数字。

使用情况可能每天生成的 ID 少于 1000 个,但绝对需要不冲突,并且希望浪费的可能性最小(未使用的数字 block )。

<小时/>

我考虑了以下选项

  1. 我知道我可以执行条件读取+更新,直到获得成功的结果。
  2. 与 #1 类似,但使用 10 或 100 的 block 进行更新,然后使用该 block 在单独的服务中颁发新 ID。
  3. 为此目的完全使用单独的服务(支持 SQL?)。

我还在创建记录时使用 UUID,我只想将序列号用于公开发布的记录,并将成为 URL 的一部分。

最佳答案

更新操作是原子的,但是您不会将更新后的值作为操作的输出返回。 Update/Select 组合绝对不是原子的。任何其他进程都可以在 updateselect 调用之间递增/递减计数器值,因此使结果变得不可预测。以下是计数器工作原理的详细描述:http://www.datastax.com/dev/blog/whats-new-in-cassandra-2-1-a-better-implementation-of-counters 。尝试在 Cassandra 前面使用一些同步层来实现此操作的原子性。 Astyanax就是例子之一。

关于cassandra - 在 Cassandra 中,如果我运行一个递增计数器的查询,那么从该计数器中选择是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28889502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com