gpt4 book ai didi

performance - 删除大量数据后,Cassandra 查找查询速度很慢

转载 作者:行者123 更新时间:2023-12-04 20:45:13 31 4
gpt4 key购买 nike

目前,我有一个包含大量数据的 cassandra 列族,可以说超过 100,000。现在,我想删除此列族中的所有数据,问题出现了:

删除所有数据后,我在此列族中执行查找查询,cassandra 将花费数十秒返回空查询结果。并且当原始数据较大时时间成本会线性增加

它是由 引起的墓碑特征 同时从 cassandra 数据库中删除数据。直到下一次 GC 被触发,查找速度才会恢复正常。见 Cassandra Distributed Deletes .

因为在我的系统中经常使用这样的查询操作,我无法忍受长达几秒钟的巨大延迟。

你能给我一个解决这个问题的方法吗?

最佳答案

这听起来像是使用数据库的一种非常糟糕的方式。填充它,清空它,重复。您可以解决问题的一种方法是每次使用不同的 CF 名称,例如当您清空数据并开始重新填充它时,创建一个新的列族并使用它,然后删除另一个列族,但这很麻烦。

我建议使用压缩( gets rid of all the tombstones it can detect )来解决您的问题,它是 CPU 密集型的,但比等待数十秒的查询响应要好。您可以通过提供要压缩的特定 ks & cf 来减少机器上的任务强度:

./nodetool compact <ks_name> <cf_name>

Ritchard 的观点很好, gc_grace_seconds默认设置为 10 天,因此您可能需要调整它以允许压缩以摆脱墓碑。

关于performance - 删除大量数据后,Cassandra 查找查询速度很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19018947/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com