检索Cassandra行计数更快

olmpazwi  于 2022-10-21  发布在  Cassandra
关注(0)|答案(1)|浏览(150)

我们已经将我们的cassandra集群设置为aws-ec2示例中的3个节点。每个示例的类型为t2.large
我们需要从Cassandra表中获取行数。
我们在Cassandra(cassandra)的一个表中加载了90万条记录。这个表中有大约91列。大多数记录都是文本数据类型。所有这些900k记录都是单个分区键的一部分。
当我们使用该分区键尝试选择计数(*)查询时,查询超时。
然而,我们能够通过多次调用检索计数,每次调用只获取100k条记录。这里唯一的缺点是所花费的时间约为1分3秒。
在Cassandra,还有其他方法可以加快行数吗?我们需要改变数据建模方法来实现这一点吗?

qhhrdooz

qhhrdooz1#

哈迪斯建筑师是对的。你肯定会想重新考虑你的数据模型。
使用Cassandra,更多的分区有助于更好的数据分布。另一方面,大分区会显著降低磁盘读取过程的速度。随着分区的增长,它最终将变得不可用。
在Cassandra,还有其他方法可以加快行数吗?
DSBulk工具具有内置机制,可用于集群的分区范围,并可读取/计数所有行。

dsbulk count \
    -k keyspacename \
    -t tablename \
    -u username \
    -p password \
    -h 10.0.0.2

相关问题