Cassandra 在卡桑德拉没有更好的方法数数钥匙了

Cassandra 在卡桑德拉没有更好的方法数数钥匙了,cassandra,Cassandra,我在cassandra中有一个日志表,现在我想搜索该表的行数 首先,我使用select count*from log,但它非常非常慢。 然后我想使用计数器类型,然后问题就来了。我的表是一个TTL表,所有行保留一个小时,使用计数器类型变得非常困难。Cassandra在执行表扫描操作时效率不高。它擅长于接收大量数据,然后访问这些数据的小部分,而不是整个表 因此,如果要在不使用计数器的情况下计数键,则需要将表分解为足够小的数据块,以便快速处理。例如,如果要使用count*,则应仅在单个分区上使用它,并

我在cassandra中有一个日志表,现在我想搜索该表的行数

首先,我使用select count*from log,但它非常非常慢。
然后我想使用计数器类型,然后问题就来了。我的表是一个TTL表,所有行保留一个小时,使用计数器类型变得非常困难。

Cassandra在执行表扫描操作时效率不高。它擅长于接收大量数据,然后访问这些数据的小部分,而不是整个表

因此,如果要在不使用计数器的情况下计数键,则需要将表分解为足够小的数据块,以便快速处理。例如,如果要使用count*,则应仅在单个分区上使用它,并将分区大小保持在100000行以下

在您的情况下,如果每秒插入大量日志行,您可能希望按小时或5分钟的间隔对数据进行分区


如果连续插入大量数据,请小心使用一小时的TTL,因为它可能会导致大量墓碑。为了避免建立墓碑,您应该在小时过去后删除每个小时分区。

您可以尝试使用limit子句从日志中计数*,这样会很快。