咨询统计partition中含相同failure字段的文档数量的最简高效方案
按failure类型统计出现次数的最简方案
首先你当前的表结构用type做分区主键、failure做排序键,原生不支持直接按failure高效聚合统计,根据你的查询频率可以选两种方案:
临时低频查询
如果只是偶尔需要查这个统计值,不需要低延迟响应,直接用全表扫描(Scan)操作即可:
- 给Scan操作加过滤规则,匹配你要统计的目标failure值
- 把返回结果类型设为
COUNT,接口会直接返回匹配的条目总数,不需要你自己遍历所有数据计算 - 缺点是会扫描全表,数据量大的时候耗时和成本都会涨,只适合偶尔用的场景
高频高效查询
如果需要经常查这个统计值,要求低延迟,最简方案是新增一个全局二级索引(GSI):
- 新GSI的分区键设为
failure字段,不需要额外设置排序键 - 查询的时候针对这个GSI发起
Query操作,指定分区键值为你要统计的failure类型,返回类型同样设为COUNT,就能毫秒级拿到统计结果,资源消耗极低,是生产环境高频查询的最优解
内容的提问来源于stack exchange,提问作者Daniel Martinez
相关产品推荐
相关产品推荐

