cassandra - Cassandra中的Counter Vs Int列?

标签 cassandra counter cql3 nosql

我是Cassandra的新手。我无法理解,在表(如果非计数器列不是复合PRIMARY KEY的一部分,甚至在其他表中)中使用计数器有什么好处?为什么当我有一些像x = x++的语句时,为什么不使用Int类型的列呢?使用int或counter有什么区别?
是否可以在Cassandra中对Int Type使用增量或减量?

最佳答案

Why we don't use a column with Int type, when I will have some statements like x=x++; what is the different between using int or counter?



因为使用普通的Int列需要写入前锁定才能进行x=x++之类的操作

的确,对于分布式数据库,当您可以对相同值进行并发更新时,保证x=x++行为一致的唯一方法是:
  • 锁定当前记录
  • 读取x的当前值,将其增加1
  • 写回x的新值
  • 释放锁

  • 计数器类型允许同时增加/减少值,而无需写入前先读取锁定

    关于cassandra - Cassandra中的Counter Vs Int列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412377/

    相关文章:

    database - Cassandra CQL3 : Change primary key

    nosql - 使用 cassandra 监控数据模型的技巧

    mysql - 自由RADIU : passing Max-All-Session in SQL

    javascript - 在 Ember Handlebars 的嵌套循环中获取索引计数器

    python - 迭代列表项时减少列表的长度

    Cassandra 基于时间的查询

    cassandra - 根据 Where 子句更新 Cassandra 中的列

    java - Cassandra 无法创建 Java 虚拟机

    java - 在 Cassandra 中复制 Column family 的最快方法是什么?

    cassandra - 熟悉 SQL 的人员迁移到 Cassandra/NoSQL 的概述