Cassandra 4.0.5版本LIMIT 1查询未优化问题咨询
Cassandra LIMIT子句及节点命中异常问题
表结构定义
CREATE TABLE IF NOT EXISTS details ( public_id text, updated_at timeuuid, details text, PRIMARY KEY (public_id, updated_at) ) WITH CLUSTERING ORDER BY (updated_at DESC) AND comment='A table to hold details update history'
字段说明
- public_id:分区键(PartitionKey),UUID格式字符串
- updatedAt:聚类键(ClusteringKey),timeuuid类型
- details:JSON格式数据,大小范围1KB - 4KB
执行的查询语句
select * from details where public_id = 'prefix_4758a709fae94c87a84ea89623037577' limit 1;
问题背景
我之前看过一篇讲Cassandra LIMIT子句的文章,文中提到该子句的相关问题已在Cassandra 3.4版本中通过CASSANDRA-8180修复,但我使用的是4.0.5版本,问题仍然存在。
查询跟踪的异常输出
查询跟踪显示需要合并大量SSTable数据:
Merged data from memtables and 19 sstables Merged data from memtables and 21 sstables


另一个分区的异常跟踪情况
- 触发了3个节点的推测重试(speculative retry)
- 副本因子(RF)设为3、一致性级别(CL)为LOCAL_QUORUM时,总共命中了6个节点,这明显不符合预期








内容的提问来源于stack exchange,提问作者AVI
相关产品推荐
相关产品推荐

