【问题标题】:Cassandra query using secondary index timedout使用二级索引超时的 Cassandra 查询
【发布时间】:2021-11-21 04:36:30
【问题描述】:

在 Cassandra 数据库上执行查询时遇到超时问题。我们已经尝试在 cassandra.yaml 中增加读取超时字段"read_request_timeout_in_ms", "range_request_timeout_in_ms",但仍然在 10 秒内查询超时。

无论如何我们可以将超时值增加到 1-2 分钟吗?

Sample Product Table Schema:
 - product_id string (primary key)
 - product_name string
 - created_on timestamp (secondary index)
 - updated_on timestamp

需求:我想查询所有使用'created_on'字段在特定日期创建的产品。

示例查询:select * from "Product" where created_on > 1632906232 AND created_on < 1632906232

注意:查询使用过滤器中的二级索引字段。

环境详细信息:Cassandra 数据库与 2 节点集群设置。

【问题讨论】:

    标签: cassandra datastax datastax-enterprise cassandra-3.0 cassandra-2.0


    【解决方案1】:

    潜在的问题是范围查询很昂贵,这就是为什么需要这么长时间才能完成。顺便说一句,您似乎发布了错误的查询,因为您的值相同。

    设置默认超时是为了防止节点因昂贵的查询而过载,因此它们不会停机。增加服务器端超时不是正确的方法。在您的情况下,很可能触发了客户端超时。

    您需要检查您的数据模型并创建表,而不是按创建日期进行分区,以便更好地执行。干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-09
      • 2016-11-28
      • 2016-06-13
      • 2023-04-08
      • 2013-12-04
      • 1970-01-01
      • 2012-06-28
      • 2014-03-05
      相关资源
      最近更新 更多