InfluxDB使用教程:InfluxDB中数据结构概念

前言:

在前面两讲中,介绍了InfluxDB的安装和使用,这一讲来介绍InfluxDB中数据结构的基本概念,以及使用中要注意问题,。

一. InfluxDB基本数据结构

数据结构含义
database数据库
measurement数据库中的表
retention policy保存策略:让InfluxDB能够知道可以丢弃哪些数据,设置数据自动清除时间,从而更高效的处理数据
points表里面的一行数据

二.points的数据结构介绍:

数据结构含义
time每个数据记录时间,是数据库中的主索引(会自动生成)
fields各种记录值(没有索引的属性)也就是记录的值
tags各种有索引的属性
series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。
特别提醒:
  1. time 相当于表的主键,当一条数据的time和tags完全相同时候,新数据会替换掉旧数据,旧数据则丢失(线上环境尤其要注意)。
  2. tags 和time可以作为排序字段,field则不可以。如:ORDER BY time DESC
  3. 设置了保存策略后,若此保存策略为设置成默认保存策略(一个库可以有多个保存策略),则在查询时,表名(measurement)前,要加上保存策略。
    举例:
    保留策略为two-hour不是默认保存策略,则查询时候,需要指定其保存策略。
select * from two-hour.measure where time > now() -10
  1. fields和tags的字段类型是由存入的第一条记录值决定的。
    举例:
  • 如第一条记录fieldA的值为2,想插入一条记录,fieldA字段值为3.14的值,就会报错。因为该字段已经被初始化为整型了。
  • 如第一条记录fieldB存储的是3,想插入一条记录,fieldB字段值为hello,则也会报错,该字段已被初始化成整型,不能再写入字符串了。

三.如何统一InfluxDB数据类型,防止丢失数据?

建议只使用字符串类型和浮点类型,把所有的整型,长整型,浮点型,双精度型统一转为小数格式的浮点类型,再写入数据库,字符串类型的不用做转换,这样就不会出现插入数据失败和丢失数据了。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值