添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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’)

原文链接:
http://www.linuxdaxue.com/retention-policies-in-influxdb.html 结合Github高星开源项目SharpSCADA讲解工控上位机开发,重视基础,突出实战,为广大工控从业者、编程爱好者提供一种新颖的解决方案,可以快速搭建强大易用可扩展的工控上位机,并在此开源项目基础上开发工业大数据和MES系统,定制个性化的工业自动化行业解决方案。在学习过程中,可加深对C#语言和.NET平台的理解,进一步了解工业以太网协议,熟练对WPF技术的应用,透析组态软件的架构。 DROP CONTINUOUS QUERY “pic_query01” ON “pic” CREATE RETENTION POLICY "1Year" ON "pic" DURATION 365d REPLICATION 1 策略名称 "1Year" 保存时间 365, pic库, 创建连续查询 显示所有连续查询 SHOW CONTINUOUS QU. 要实现双机热备,需要在两台服务器上都部署 Redis 和 InfluxDB,并在其中一台服务器上设置为主服务器,另一台设置为从服务器。 对于 Redis,可以使用 Redis 的主从复制功能来实现,主服务器上的 Redis 会将数据同步到从服务器上的 Redis。如果主服务器宕机,从服务器可以作为新的主服务器继续提供服务。 对于 InfluxDB,可以使用 InfluxDB 的冗余备份功能来实现,... 查最近1小时数据,返回列时间使用timeShift转换为当前时区(上海时区+8h)使用自带的最近日期语法会自动根据时区转换(如start:-1h)返回的时间列不会自动转换。 influxd backup [ -database <db_name> ] --> 指定需要备份的数据库名 [ -portable ] --&g... Jmeter进行性能测试一般推荐命令行运行,但是最终要生成测试结果报告,虽然没有UI界面那么大的消耗,依然会有资源的消耗,并且当测试时间很长的时候,我们并不能实时监控,所以现在大多选择使用独立服务器搭建监控大屏。这里使用InfluxDB + Grafana监控大屏,InfluxDB是一个开源的、高性能的时序型数据库,在时序型数据库DB-Engines Ranking上排名第一。 linux版本的1.8.4版本具体参考链接: wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.4.x86_64.rpm sudo yum localinstall influxdb-1.8.4.x86_64.rpm 二、安装和运行: 1)如果用RPM安装.rpm软件包,最