influxdb连续查询

本文介绍了在InfluxDB中遇到的查询性能问题,问题出现在数据量大时聚合查询变得缓慢。为了解决这个问题,文章提出使用InfluxDB的连续查询(Continuous Queries, CQ)功能进行定时数据聚合,从而提高查询速度。详细讲解了如何创建、查询和删除连续查询,并提供了配置采样时间和频率的方法,旨在帮助优化时序数据库的性能。" 120365922,8729712,银河麒麟V10离线安装Kubernetes集群,"['容器技术', 'Kubernetes', 'Docker', 'Linux系统管理', '集群部署']
部署运行你感兴趣的模型镜像

项目场景:

InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。


问题描述

使用influxdb做数据统计,运行一段时间之后,发现页面查询缓慢。


原因分析:

经查询发现数据存储量很大,在做聚合查询时缓慢会导致查询失败。


解决方案:

计划使用influxdb的连续查询功能,将需要聚合的数据定时聚合统计,查询数据时,直接查询聚合后的数据
官方文档:https://docs.influxdata.com/influxdb/v1.7/query_language/continuous_queries/

创建连续查询

CREATE CONTINUOUS QUERY <cq_name> ON <database_name> BEGIN
<cq_query> END

cq_query格式

SELECT <function[s]> INTO <destination_measurement> FROM
[WHERE ] GROUP BY time()[,<tag_key[s]>]

例:

CREATE CONTINUOUS QUERY active_week ON active BEGIN SELECT count(distinct(device_id)) INTO active.active_week_m FROM active.device_active GROUP BY time(1w) END

查询连续查询

SHOW CONTINUOUS QUERIES

删除连续查询

DROP CONTINUOUS QUERY <cq_name> ON <database_name>

连续查询一旦创建就不能修改,需要删除之后重新创建。

配置采样时间和频率
RESAMPLE EVERY :采样执行频次。如RESAMPLE EVERY 30m:表示30分钟执行一次。

RESAMPLE FOR :采样时间范围。如RESAMPLE FOR 60m:时间范围 = now() - for间隔(60m)。

RESAMPLE EVERY 30m FOR 60m:表示每30分钟执行一次60分钟内的数据计算。

CREATE CONTINUOUS QUERY “cq_advanced_every” ON “transportation”
RESAMPLE EVERY 30m
BEGIN
SELECT mean(“passengers”) INTO “average_passengers” FROM “bus_data” GROUP BY time(1h)
END

参考:https://www.cnblogs.com/quchunhui/p/13402808.html

您可能感兴趣的与本文相关的镜像

FLUX.1-dev

FLUX.1-dev

图片生成
FLUX

FLUX.1-dev 是一个由 Black Forest Labs 创立的开源 AI 图像生成模型版本,它以其高质量和类似照片的真实感而闻名,并且比其他模型更有效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值