我一直在寻找柜台上的一些信息,关于你可以用它们做什么,似乎有一些相当矛盾的信息。
根据官方DataStax文档(https://docs.datastax.com/en/cql-oss/3.x/cql/cql_reference/counter_type.html),“您不能设置计数器的值,它支持两种操作:递增和递减。”。
然而,如果我们查看BATCH CQL文档(https://docs.datastax.com/en/dse/6.0/cql/cql/cql_reference/cql_commands/cqlBatch.html#cqlBatch__batch-更新),底部的示例包括设置、添加和减去批处理中的计数器变量。
这个例子也可能打破了一条规则,即在一个表中有一个计数器应该只为该表的其余部分有计数器。
那么cassandra DataStax中计数器的限制/可用性到底是什么?似乎没有一个明确的定义。
1条答案
按热度按时间flmtquvp1#
我认为这只是一个误会。这些页面并不相互矛盾。
CQL Counter type页面正确地声明不可能设置
counter
列的值。例如,这是无效的:counter
列上唯一有效的操作是递增和递减。以下是一些示例:b1a1ab
在BATCH命令页面中,前两个示例是递增操作:
最后一个示例是减量操作:
我看不出这些例子如何打破了计数器表中只有计数器的规则。从示例中,我可以推断表模式是:
表中可以有任意多个非
counter
列,只要它们是PRIMARY KEY
的一部分。作为补充说明,将软件称为“Cassandra DataStax”或“DataStax Cassandra”是不正确的,因此我相应地更新了标题。DataStax(公司)不拥有Cassandra。更合适的引用是“Apache Cassandra”或简单的“Cassandra”。干杯