小数据集的 Cassandra 查询超时

标签 cassandra

我在使用 Cassandra 2.1.17 时遇到问题。我有一张表,其中有大约 40k“行”。我遇到问题的一个分区中可能有大约 5k 个条目。

表是:

create table billing (
    accountid uuid,
    date timeuuid,
    credit double,
    debit double,
    type text,
    primary key (accountid,date)
) with clustering order by (date desc)

所以这个表中有很多插入和删除操作。

我的问题是,不知何故它似乎被损坏了,我认为是因为我无法再从分区中选择超过某个点的数据。

从 cqlsh 我可以运行这样的东西。

从账单中选择账户 ID、日期、贷方、借方、类型,其中 accountid=XXXXX-xxxx-xxxx-xxxxx... AND 日期 < 3d466d80-189c-11e7-8a57-f33cbced2fc5 limit 2;

首先,我将选择限制设置为 10000,它最多可对它们进行分页,最多可处理 5000 行,最后会出现超时错误。

然后我使用上次的第二个 timeuuid 并选择限制 2,它将失败,限制 1 将起作用。

如果我使用最后一个 timeuuid 作为 < 并限制为 1,它也会失败。

因此,只是寻找我可以在这里做什么,我不确定出了什么问题,也不知道如何修复/诊断发生的事情。

我已经厌倦了修复并强制压实。但似乎仍然存在问题。

感谢您的帮助。

最佳答案

  1. 尝试从在表上运行手动压缩开始。
  2. 您可以增加 cassandra 配置中的 read_request_timeout_in_ms 参数。
  3. 如果您有大量删除和更新,请考虑采用分级压缩策略。

关于小数据集的 Cassandra 查询超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43201256/

相关文章:

cassandra - 选择 Cassandra 中的所有性能

azure - 无法从azure数据 block 访问cassandra

Cassandra:无法截断表

database - Cassandra frozen 关键字含义

cassandra - 是否可以将 key 空间部分分配给另一个 DC?

cassandra - 跨数据中心副本的节点工具修复

hadoop - PiG + Cassandra + Hadoop

cassandra - TokenAware 策略 Cassandra 和一个查询中的多个节点

cassandra 1.1.x 通过组合键获取

windows - 如何在windows机器上用docker搭建cassandra集群?