InfluxDB 行协议是 InfluxDB 数据库独创的一种数据格式,它由纯文本构成,只要数据符合这种格式,就能使用 InfluxDB 的 HTTP API 将数据写入数据库。该协议与CSV相似,在 InfluxDB 行协议中,一条数据和另一条数据之间使用换行符分隔,所以一行就是一条数据。在时序数据库领域,一条数据由以下四种元素构成:
一、测量名称(Measurement)
必需元素,测量的名称。可以将其当作普通关系型数据的表,但实际上并非如此。在 InfluxDB 行协议中,测量名称不可省略,且大小写敏感,不可以用下划线_打头。
二、标签集(Tag Set)
可选元素,键值关系使用=表示,多个键值对之间使用英文逗号分隔。标签的键和值都区分大小写,且键不能以下划线_开头。标签应该用在一些值的范围有限(可枚举)、不太会变动的属性上,比如传感器的类型和ID等。在 InfluxDB 中,一个 Tag 相当于一个索引,给数据点加上 Tag 有利于将来对数据进行检索。但如果索引太多了,就会减慢数据的插入速度。
三、字段集(Field Set)
必需元素,一个数据点上所有的字段键值对,键是字段名,值是数据点的值。一个数据点至少要有一个字段。字段集的键是大小写敏感的。字段集的值可以是浮点数、整数、无符号整数、字符串或布尔值。
四、时间戳(Timestamp)
可选元素ÿ