iotdb的数据模型
Posted 健康平安的活着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iotdb的数据模型相关的知识,希望对你有一定的参考价值。
一 数据模型
1.1 数据模型
1. 存储组(Storage Group): IoTDB为了管理时序数据提出的一个概念,类似于关系数据库中的数据库的概念。从用户角度,主要用于对设备数据进行分组管理;从IoTDB数据库角度,存储组又是一个并发控制和磁盘隔离的单位,不同存储组之间可以并行读写。
设置合理数量的存储组可以带来性能的提升:既不会因为产生过多的存储文件(夹)导致频繁切换IO降低系统速度(并且会占用大量内存且出现频繁的内存-文件切换),也不会因为过少的存储文件夹(降低了并发度从而)导致写入命令阻塞。
在路径中,不允许使用单引号。如果你想在LayerName中使用.
等特殊字符,请使用双引号。例如,root.sg."d.1"."s.1"
。双引号内支持使用转义符进行双引号的嵌套,如 root.sg.d1."s.\\"t\\"1"
。
存储组节点名只支持中英文字符、数字、下划线和中划线的组合。例如root.存储组_1-组1
。
2.设备 (Device):对应现实世界中的具体物理设备,例如:电厂某制造单元、风力发电机、汽车、飞机发动机、地震波采集仪器等。在IoTDB中, device是时序数据一次写入的单位,一次写入请求局限在一个设备中。
3.传感器(Sensor): 对应现实世界中的具体物理设备自身携带的传感器,例如:风力发电机设备上的风速、转向角、发电量等信息采集的传感器。在IoTDB中,Sensor也称为测点(Measurement),具体指传感器采集的某时刻的传感器值,在IoTDB内部采用<time, value>的形式进行列式存储
4.时间序列(Time Series): 类似于关系数据库中的一张表,不过这张表主要有时间戳(Timestamp)、设备ID(Device ID)、测点值(Measurement)三个主要字段。为了便于对时间序列的设备信息进行更多描述,IoTDB还增加了Tag和Field等扩展字段,其中Tag支持索引,Field不支持索引。在有的时序数据库中,又称为时间线,表示记录某设备某传感器值随着时间不断变化的值,形成一条沿着时间轴不断追加测点值的时间线。
在IoTDB中所有的时间序列必须以root开始、以传感器作为结尾。一个时间序列也可称为一个全路径。
https://www.cnblogs.com/huaweiyun/p/14943751.html
5.路径(Path):IoTDB构造了一个以root为根节点、把存储组、设备、传感器串联在一起的树形结构,从root根节点经过存储组、设备到传感器叶子节点,构成了一条路径。也叫时间序列。
IOTDB中绝对时间戳分为二种,一种为LONG类型,一种为DATETIME类型(包含DATETIME-INPUT, DATETIME-DISPLAY两个小类)。在用户在输入时间戳时,可以使用LONG类型的时间戳或DATETIME-INPUT类型的时间戳,其中DATETIME-INPUT类型的时间戳支持格式如表所示:
format |
---|
yyyy-MM-dd HH:mm:ss |
yyyy/MM/dd HH:mm:ss |
yyyy.MM.dd HH:mm:ss |
yyyy-MM-dd'T'HH:mm:ss |
yyyy/MM/dd'T'HH:mm:ss |
yyyy.MM.dd'T'HH:mm:ss |
yyyy-MM-dd HH:mm:ssZZ |
yyyy/MM/dd HH:mm:ssZZ |
yyyy.MM.dd HH:mm:ssZZ |
yyyy-MM-dd'T'HH:mm:ssZZ |
yyyy/MM/dd'T'HH:mm:ssZZ |
yyyy.MM.dd'T'HH:mm:ssZZ |
yyyy/MM/dd HH:mm:ss.SSS |
yyyy-MM-dd HH:mm:ss.SSS |
yyyy.MM.dd HH:mm:ss.SSS |
yyyy/MM/dd'T'HH:mm:ss.SSS |
yyyy-MM-dd'T'HH:mm:ss.SSS |
yyyy.MM.dd'T'HH:mm:ss.SSS |
yyyy-MM-dd HH:mm:ss.SSSZZ |
yyyy/MM/dd HH:mm:ss.SSSZZ |
yyyy.MM.dd HH:mm:ss.SSSZZ |
yyyy-MM-dd'T'HH:mm:ss.SSSZZ |
yyyy/MM/dd'T'HH:mm:ss.SSSZZ |
yyyy.MM.dd'T'HH:mm:ss.SSSZZ |
ISO8601 standard time format |
相对时间戳
相对时间是指与服务器时间now()
和DATETIME
类型时间相差一定时间间隔的时间。 形式化定义为:
now() - 1d2h //比服务器时间早1天2小时的时间
now() - 1w //比服务器时间早1周的时间
总结:
以上是关于iotdb的数据模型的主要内容,如果未能解决你的问题,请参考以下文章