前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「influxDB 原理与实践(三)」连续查询

「influxDB 原理与实践(三)」连续查询

作者头像
源码之路
发布2020-09-04 10:20:22
2.7K0
发布2020-09-04 10:20:22
举报
文章被收录于专栏:源码之路源码之路

连续查询是InfluxDB的一种查询类型。它会按照用户指定的查询规则,自动地、周期地查询实时数据并执行指定运算,然后将查询结果保存在一张指定的表中。

通过创建连续查询,用户可以指定InfluxDB执行连续查询的时间间隔、单次查询的时间范围以及查询规则。InfluxDB会根据用户指定的规则,定期的将过去一段时间内的原始时序数据以用户所期望的方式保存至新的结果表中,从而降低存储数据的时间精度,大大减少新表的数据量。同时,将查询结果保存在指定的数据表中,也便于用户直接查询所关心的内容,从而降低查询的运算复杂度,提升查询效率。

基础特性

创建基础连续查询

  • cq_name :该条连续查询的名字
  • database_name:连续查询所在数据库的名字。
  • cq_query:具体的连续查询语句。 其中,cq_query语法是InfluxQL协议格式的。
  • function[s]:要查询的字段及数据处理的内置函数。
  • destination_measurement:保存查询结果的目标表;若目标表不存在,InfluxDB自动创建。
  • measurement连续查询语句所查询的目标表
  • stuff具体的查询条件,可选参数
  • interval连续查询语句执行的时间间隔与查询的时间范围。
  • tag_key[s]归类的标签字段,可选参数 注意:InfluxDB在执行连续查询语句时,会根据time(interval) 的值自动生成查询时间范围。因此,用户在创建连续查询语句时,不需要在WHERE子句的查询条件中指定时间范围,且在WHERE条件中指定的时间范围都会被忽略掉。 例:创建一条连续查询,按照指定时间间隔和标签对指定数据进行采样。
代码语言:javascript
复制
create continuous query my_first_basic_cq on cq_test_db
begin 
  select max(cpu_usage)  into basic_cq_result from cpu_usage_detail group by time(1h) ,ip
end

解释:每小时定期去查cpu_usage_detail表,按服务器ip聚合,统计过去1小时内每个IP的最大CPU利用率cpu_usage,并将结果保存在表basic_cq_result中。

连续查询的执行时间及查询时间范围

group by time()指定的时间既决定了连续查询每次执行的时间间隔,也决定了连续查询的查询时间范围。基于本地服务器的时间,在预设的时间节点开始执行这些连续查询。influxDB会在每个小时开始的时候执行连续查询语句,如11:00,12:00,13:00 infulxDB首先通过now()函数获取当前时间,再用当前时间减去group by time()指定的时间间隔。这两个时间点之间的左闭合开区间就是连续查询语句查询时间范围。例如,时间长度是1小时,执行时间点是12:00,那么所查时间范围就是11:00~11:59.9999999。

高级特性

创建高级连续查询

高级连续查询语法:

用户通过RESAMPLE子句分别指定更具体的时间间隔和时间范围。

管理连续查询

  • 查询已创建的连续查询语句 show continuous queries
  • 删除已存在的连续查询语句 drop continuous query <cq_name> on <database> -修改已存在的连续查询语句 不支持,需先删除再创建
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础特性
    • 创建基础连续查询
      • 连续查询的执行时间及查询时间范围
      • 高级特性
        • 创建高级连续查询
          • 管理连续查询
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档