• 时序数据库 | InfluxDB - 行协议


    目录

    零、行协议定义

    一、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 位浮点数。这是默认的数据类型。 
    示例:字段级值类型为浮点数的行协议 

    1. myMeasurement fieldKey=1.0
    2. myMeasurement fieldKey=1
    3. myMeasurement fieldKey=-1.234456e+78

    Integer(整数)

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

    整数最小值

    整数最大值

    -9223372036854775808i

    9223372036854775807i


    UInteger(无符号整数)

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

    无符号整数最小值

    无符号整数最大值

    0u

    18446744073709551615u

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

    1. myMeasurement fieldKey=1u myMeasurement
    2. 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

    1. myMeasurement fieldKey=true
    2. myMeasurement fieldKey=false
    3. myMeasurement fieldKey=t myMeasurement
    4. fieldKey=f myMeasurement fieldKey=TRUE
    5. myMeasurement fieldKey=FALSE

    Unix Timestamp(Unix 时间戳)

    myMeasurementName fieldKey="fieldValue" 1556813561098000000

    注释

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

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

  • 相关阅读:
    DefaultListableBeanFactory
    在linux上脱离hadoop安装hbase-2.5.6集群
    如何在自己电脑上配置开发深度学习项目(windows)
    cmake 入门笔记
    《深入浅出.NET框架设计与实现》阅读笔记(一)
    中移链共识机制介绍
    简易版人脸识别qt opencv
    了解Vue
    Android学习笔记 60. 探索文档和其他资源
    DC-9靶场下载及渗透实战详细过程(DC靶场系列)
  • 原文地址:https://blog.csdn.net/Trollz/article/details/127706384