【发布时间】:2016-05-26 12:58:51
【问题描述】:
我是 Cassandra 的新手。我不明白在表中使用计数器有什么好处(如果非计数器列不是复合主键的一部分,甚至在不同的表中)?为什么我们不使用 Int 类型的列,当我会有一些像 x=x++; 这样的语句时使用 int 和 counter 有什么区别?
是否可以在 Cassandra 中使用 Int Type 的增量或减量?
【问题讨论】:
标签: cassandra counter cql3 nosql
我是 Cassandra 的新手。我不明白在表中使用计数器有什么好处(如果非计数器列不是复合主键的一部分,甚至在不同的表中)?为什么我们不使用 Int 类型的列,当我会有一些像 x=x++; 这样的语句时使用 int 和 counter 有什么区别?
是否可以在 Cassandra 中使用 Int Type 的增量或减量?
【问题讨论】:
标签: cassandra counter cql3 nosql
为什么我们不使用 Int 类型的列,当我会有一些像 x=x++; 这样的语句时使用 int 和 counter 有什么区别?
因为使用普通的 Int 列需要 read-before-write 和 lock 来进行x=x++
确实,对于分布式数据库,当您可以对同一值进行并发更新时,保证x=x++ 行为一致的唯一方法是:
Counter 类型允许同时增加/减少值,而不需要 read-before-write 也不需要 locking
【讨论】: