根据以下问题,我需要帮助/建议:
我有一个计数器表,该表由异步进程递增。增量更新后,每个进程都需要新值。但是这两个操作(UPDATE和SELECT)不是原子的。因此,与此同时第二个进程有可能进一步增加。结果是第一个过程的SELECT结果中的计数器值错误(counter + 2
而不是counter + 1
)。我该如何解决这个问题?
如果我可以将UPDATE和SELECT合并到一个原子事务中,那将是很好的。在2014年,有人已经要求使用此功能。但是看来,它不会实现:
http://grokbase.com/t/cassandra/user/145xexrr0f/retrieve-counter-value-after-update