首页 > 编程学习 > 时序数据库 | InfluxDB - 行协议

时序数据库 | InfluxDB - 行协议

发布时间:2022/11/5 18:56:21

目录

零、行协议定义

一、measurement(测量名称) 

二、Tag Set(标签集)

三、Field Set(字段集)

四、空格

五、协议中的数据类型及其格式

Float(浮点数) 

Integer(整数)

UInteger(无符号整数)

String(字符串)

Boolean(布尔值)

Unix Timestamp(Unix 时间戳)

注释


零、行协议定义

InfluxDB 行协议是 InfluxDB 数据库独创的一种数据格式,它由纯文本构成,只要数据符合这种格式,就能使用 InfluxDB 的 HTTP API 将数据写入数据库。 

与 CSV 相似,在 InfluxDB 行协议中,一条数据和另一条数据之间使用换行符分隔,所以一行就是一条数据。另外,在时序数据库领域,一行数据一行数据由下面 4 种元素构
成。 

  • measurement(测量名称) 
  • Tag Set(标签集) 
  • Field Set(字段集) 
  • Timestamp(时间戳)


一、measurement(测量名称) 

必需,测量的名称。 你可以将它当作普通关系型数据的 table,虽然实际上不是这么回事。 在 InfluxDB 行协议中,测量名称不可省略。 大小写敏感,不可以用下划线_打头 


二、Tag Set(标签集)

标签应该用在一些值的范围有限(可枚举)的,不太会变动的属性上。比如传感器的类型和 id 等等。在 InfluxDB 中一个 Tag 相当于一个索引。给数据点加上 Tag 有利于将来对数据进行检索。但是如果索引太多了,就会减慢数据的插入速度。可选,键值关系使用=表示。多个键值对之间使用英文逗号分隔,标签的键和值都区分大小写。标签的键不能以下划线 _ 开头键的数据类型:字符串值的数据类型:字符串 


三、Field Set(字段集)

必需,一个数据点上所有的字段键值对,键是字段名,值是数据点的值。一个数据点至少要有一个字段。字段集的键是大小写敏感的。键的数据类型:字符串。值的数据类型:浮点数 | 整数 | 无符号整数 | 字符串 | 布尔值


四、空格

行协议中的空格决定了 InfluxDB 如何解释数据点,第一个未转义的空格将测量值&Tag Set(标签集)与 Field Set(字段集)分开。第二个未转义空格将 Field Set(字段级)和时间戳分开。


五、协议中的数据类型及其格式

Float(浮点数) 

IEEE-754 标准的 64 位浮点数。这是默认的数据类型。 
示例:字段级值类型为浮点数的行协议 

myMeasurement fieldKey=1.0
myMeasurement fieldKey=1
myMeasurement fieldKey=-1.234456e+78

Integer(整数)

有符号 64 位整数。需要在数字的尾部加上一个小写数字 i :

整数最小值

整数最大值

-9223372036854775808i

9223372036854775807i


UInteger(无符号整数)

无符号 64 位整数。需要在数字的尾部加上一个小写数字 u 。

无符号整数最小值

无符号整数最大值

0u

18446744073709551615u

示例:字段值类型为无符号整数的航协议:

myMeasurement fieldKey=1u myMeasurement
fieldKey=12485903u 

String(字符串)

普通文本字符串,长度不能超过 64KB 示例:

# String measurement name, field key, and field value myMeasurement fieldKey="this is a string" 

Boolean(布尔值)

true 或者 false

布尔值

支持的语法

True

t, T, true, True, TRUE

False

f, F, false, False, FALSE

myMeasurement fieldKey=true
myMeasurement fieldKey=false
myMeasurement fieldKey=t myMeasurement
fieldKey=f myMeasurement fieldKey=TRUE
myMeasurement fieldKey=FALSE

Unix Timestamp(Unix 时间戳)

myMeasurementName fieldKey="fieldValue" 1556813561098000000

注释

以井号 # 开头的一行会被当做注释:

# 这是一行数据 
myMeasurement fieldKey="string value" 1556813561098000000

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式