5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例

本文主要是介绍5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

5.InfluxDB学习之InfluxDB数据保留策略(Retention Policies)
5.1.InfluxDB数据保留策略说明
5.2.InfluxDB数据保留策略目的
5.3.InfluxDB数据保留策略操作
5.4.其他说明
6.InfluxDB学习之InfluxDB的关键概念
6.1.基本概念
6.2.InfluxDB特有概念

5.InfluxDB学习之InfluxDB数据保留策略(Retention Policies)

转自:http://www.linuxdaxue.com/retention-policies-in-influxdb.html

InfluxDB每秒可以处理成千上万条数据,要将这些数据全部保存下来会占用大量的存储空间,有时我们可能并不需要将所有历史数据进行存储,因此,InfluxDB推出了数据保留策略(Retention Policies),用来让我们自定义数据的保留时间。

5.1.InfluxDB数据保留策略说明

InfluxDB的数据保留策略(RP) 用来定义数据在InfluxDB中存放的时间,或者定义保存某个期间的数据。
一个数据库可以有多个保留策略,但每个策略必须是独一无二的。

5.2.InfluxDB数据保留策略目的

InfluxDB本身不提供数据的删除操作,因此用来控制数据量的方式就是定义数据保留策略。

因此定义数据保留策略的目的是让InfluxDB能够知道可以丢弃哪些数据,从而更高效的处理数据。

5.3.InfluxDB数据保留策略操作

1)查询策略
可以通过如下语句查看数据库的现有策略:

> SHOW RETENTION POLICIES ON test
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        true
>

可以看到,telegraf只有一个策略,各字段的含义如下:

name--名称,此示例名称为autogen
duration--持续时间,0代表无限制
shardGroupDuration--shardGroup的存储时间,shardGroup是InfluxDB的一个基本储存结构,应该大于这个时间的数据在查询效率上应该有所降低。
replicaN--全称是REPLICATION,副本个数
default--是否是默认策略

2)新建策略

> CREATE RETENTION POLICY "2_hours" ON "test" DURATION 2h REPLICATION 1 DEFAULT
> SHOW RETENTION POLICIES ON test
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
2_hours 2h0m0s   1h0m0s             1        true
>

通过上面的语句可以添加策略,本例在 telegraf 库添加了一个2小时的策略,名字叫做 2_hours, duration为2小时,副本为1,设置为默认策略。

3)修改策略
修改策略使用如下语句修改:

> ALTER RETENTION POLICY "2_hours" ON "test" DURATION 4h DEFAULT
> SHOW RETENTION POLICIES ON test
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
2_hours 4h0m0s   1h0m0s             1        true
>

可以看到,修改后的策略发生了变化。

4)删除策略
InfluxDB中策略的删除操作如下所示:

> DROP RETENTION POLICY "2_hours" ON "test"
> SHOW RETENTION POLICIES on test
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
>

可以看到,名为2_hours的策略已经被删除了。

5.4.其他说明

策略这个关键词”POLICY”在使用时应该大写,小写应该会出错。
当一个表使用的策略不是默认策略时,在进行操作时一定要显式的指定策略名称,否则会出现错误。

6.InfluxDB学习之InfluxDB的关键概念

转自: http://www.linuxdaxue.com/influxdb-study-key-concepts.html

InfluxDB作为最近才兴起的时序数据库,一些概念还与传统的数据库有所差别,因此,在此介绍下InfluxDB中的一些关键概念,以方便大家学习。

6.1.基本概念

1)database–数据库,这个同传统数据库的数据库概念。
2)measurement–数据表,在InfluxDB中,measurement即为表的作用,同传统数据库中的table作用一致。

databasefield key
field valuemeasurcement
retention policyseries
tag settag value

6.2.InfluxDB特有概念

  1. tag–标签,在InfluxDB中,tag是一个非常重要的部分,表名+tag一起作为数据库的索引,是”key-value”的形式。
  2. field–数据,field主要是用来存放数据的部分,也是”key-value”的形式。
  3. timestamp–时间戳,作为时序型数据库,时间戳是InfluxDB中最重要的部分,在插入数据时可以自己指定也可留空让系统指定。
    说明:在插入新数据时,tag、field和timestamp之间空格分隔。
  4. series–序列,所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线。
  5. Retention policy–数据保留策略,可以定义数据保留的时长,每个数据库可以有多个数据保留策略,但只能有一个默认策略。
  6. Point–点,表示每个表里某个时刻的某个条件下的一个field的数据,因为体现在图表上就是一个点,于是将其称为point。

7.带有时区进行查询示例

有时候查询的时候,会发现InfluxDB少8小时,是因为时区导致的,在查询的脚本中加入tz(‘Asia/Shanghai’)便可解决上述问题。
SELECT mean(value) FROM xxxxx WHERE job_id IN (‘73aa88e40’,‘3322sas444’) OR job_name =‘xxxxxxxxx’ AND time > now() - 10m GROUP BY time(10s), operator_name,operator_id fill(null) tz(‘Asia/Shanghai’)

这篇关于5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918100

相关文章

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核