我们可以在cassandra中限制一个表只有有限数量的记录或行吗?

我们可以在cassandra中限制一个表只有有限数量的记录或行吗?,cassandra,Cassandra,我们可以在cassandra中限制一个表只有有限数量的记录或行吗?如果我们想在一个表中最多插入20行,那么我们该怎么做?Cassandra不支持这种操作。这是应用程序中业务逻辑的一部分,应该在应用程序级别执行。否,但您可以在查询中设置每个分区的限制,然后定期发出删除命令,为超过该范围的所有内容创建范围墓碑。在一个 CREATE TABLE mytable ( primary text clustering timestamp value text PRIMARY KEY ((pr

我们可以在cassandra中限制一个表只有有限数量的记录或行吗?如果我们想在一个表中最多插入20行,那么我们该怎么做?

Cassandra不支持这种操作。这是应用程序中业务逻辑的一部分,应该在应用程序级别执行。

否,但您可以在查询中设置每个分区的
限制,然后定期发出删除命令,为超过该范围的所有内容创建范围墓碑。在一个

CREATE TABLE mytable (
  primary text
  clustering timestamp
  value text
  PRIMARY KEY ((primary), clustering)

您可以
从mytable中选择*FROM primary='mykey',每个分区限制20
,然后最后一个分区的聚类为
154885723600
,然后
从mytable中删除,其中primary='mykey'和clustering>154885723600
。在大多数情况下,我只需要发出很少删除的命令(比如根据负载情况每小时或每天删除一次,以保持分区大小较小),并使用LeveledCompactionStrategy。如果有足够的负载,则将日期组件包括到主键中,如
((primary,yyyyMMdd),集群)
,以防止在分区中堆积过多的墓碑。

用于询问特定问题。让我们看看你做了什么,以及它是如何出错的。有关文档,您必须参考供应商的网站。您可以随时从帮助中心了解更多信息