我是卡桑德拉的新手。我不明白在表中使用计数器有什么好处(或者甚至在不同的表中,如果非计数器列不是复合主键的一部分)?当我有一些像 x=x++; 这样的语句时,为什么我们不使用 Int 类型的列?使用 int 或 counter 有什么区别?
Cassandra 中的 Int 类型是否可以使用增量或减量?
当我有一些像 x=x++; 这样的语句时,为什么我们不使用 Int 类型的列?使用 int 或 counter 有什么区别?
因为使用普通的 Int 列需要先读后写 and lock对于像这样的操作x=x++
事实上,对于分布式数据库,当你可以有同时更新相同的值,这是保证行为一致的唯一方法x=x++
is:
- 锁定当前记录
- 读取x的当前值,将其增加1
- 写回 x 的新值
- 释放锁
Counter类型允许对值并发递增/递减,而不需要先读后写 nor locking
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)