IoTDB数据类型与编码方式

数据类型

IoTDB总共支持六种数据类型

BOOLEAN(布尔值)
INT32(整数)
INT64(长整数)
FLOAT(单精度浮点数)
DOUBLE(双精度浮点数)
TEXT(字符串)

在创建浮点数的时候,可以通过  MAX_POINT_NUMBER  指定浮点数小数点后的位数。

如果未指定 MAX_POINT_NUMBER,则使用配置文件iotdb-engine.properties

指定Demo

CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE, COMPRESSOR=SNAPPY, MAX_POINT_NUMBER=3

注意

对于Float,取值范围(-Integer.MAX_VALUE,Integer.MAX_VALUE),而不是Float.MAX_VALUE,MAX_POINT_NUMBER 最大19

对于Double,取值范围(-Long.MAX_VALUE,Long.MAX_VALUE),而不是Double.MAX_VALUE,MAX_POINT_NUMBER 最大19

 

编码方式

IoTDB编码作用

写入期间对数据进行编码,提高数据存储的效率,减少I / O操作中涉及的数据量以提高性能

PLAIN(PLAIN编码是默认的编码模式,即不编码,它支持多种数据类型。它具有较高的压缩和解压缩效率,同时空间存储效率低)
TS_2DIFF(二阶差分编码更适合于单调递增或递减的序列数据的编码,不建议用于波动较大的序列数据)
RLE(存储具有连续整数值的序列,而不建议用于大多数时间值不同的序列数据,也可用于对浮点数进行编码,浮点值连续出现、单调递增或递减,不适合存储小数点后精度要求高或波动较大的序列数据
GORILLA(具有相似值的浮点序列,不建议将其用于具有较大波动的序列数据)
REGULAR(更适合于对规则序列递增的数据,在这种情况下它比TS_2DIFF要好

如果在创建时间序列时候,编码方式和数据类型没有对上,会报错

error: encoding TS_2DIFF does not support BOOLEAN
数据类型支持的编码
BOOLEANPLAIN, RLE
INT32PLAIN, RLE, TS_2DIFF, REGULAR
INT64PLAIN, RLE, TS_2DIFF, REGULAR
FLOATPLAIN, RLE, TS_2DIFF, GORILLA
DOUBLEPLAIN, RLE, TS_2DIFF, GORILLA
TEXTPLAIN

 

 

 

 

 

 

 

 

压缩

使用压缩技术压缩数据以进一步提高空间存储效率。但编码技术通常只适用于特定的数据类型,压缩不受数据类型的限制。

支持二种

UNCOMPRESSED  (未压缩)

SNAPPY   (默认)

iotdb-engine.properties

 

我之前创建时间序列的时候,没有指定压缩

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值