赞
踩
我的学习过程基本按照IoTDB用户手册的顺序,我目前觉得这一套线的逻辑没有太大的问题,我的理解是先了解整体是什么,然后对于底层的存储结构要有基础的了解,接着是对数据库的操作,操作,要从大到小,因此需要先是数据库的操作,数据类型的管理这样的操作入手。
然后我们说什么是元数据,元数据(Metadata)是描述数据的数据,它提供了关于数据的信息和属性。因此,我理解就是,所有的保存数据信息的内容都叫元数据(看用户手册我觉得应该就是这样)。也就是数据库,数据库中的表的一些信息,都可以被算作是元数据。
本文我将会从大到小,对于元数据的操作进行学习。
这个说大也大,说小也小,不过对于只学过关系型数据库的我来说,我觉得这很酷
我理解元数据模板就是你规定一个表的结构,然后你把这个模板挂载到树的任意节点上面,然后这个节点下的所有实体都会遵循这个模板。我觉得这很棒,感觉真的节省了很多维护成本。这对于懒狗来说简直是天大的好事。
(来自用户手册)
感觉没有太多需要注意的点了,我自己都试了,感觉是顺利的。稍微注意一下数据类型,其他的我没遇到啥x_x
(这里和我学的关系数据库不一样,他应该是root后面的那里才是数据库的名称,我的理解是)
create database root.{databasename}
经过我的尝试,这样命名都是可以的
支持的:中英文字符、数字、下划线的组合;纯数字或包含其他字符的用反引号引起来;还有想后两个,共属于同一个父节点(尝试的结果告诉我这是可以的)
然后错误(应该错误)的操作:
show database
可以看到它确实给我建了两个,x_x,无法理解,理论上我觉得需要报错501IoTDB> show databases
IoTDB> show databases root.*(可以若干个*)
delete/drop database {databasename}
(悄咪咪说,不是很懂为什么要单独写这个?
或者我的猜想是,对于工业的用途,可以看到同级的传感器有多少个?或者可以用来统计带有特定采样点的设备数。(这么看来还是挺有用的了x_x
一些常规的命令:
SHOW CHILD PATHS pathPattern //查看此路径模式所匹配的所有路径的下一层的所有路径和它对应的节点类型
show child paths root.ln //查询 root.ln 的下一层
我觉得很有用的(都很有用):
统计当前 Metadata
树下满足某路径模式的路径中指定层级的节点个数。这条语句可以用来统计带有特定采样点的设备数。
COUNT NODES <PathPattern> LEVEL=<INTEGER>
学到这儿我发现我的知识出现了一个bug,我以为时间序列是一条数据的唯一标识,我发现我错了,唯一标识应该是时间戳。所以是要创建一个时间序列,然后向时间序列里面存储数据。(时间序列是一条时间线,所以说他不是一个时间点x_x)
补一个概念:时间序列和对齐时间序列
时间序列是一个物理实体的某个物理量在时间轴上的记录
对齐时间序列是(在实际应用中,存在某些实体的多个物理量同时采样),因此这几个物理量的时间序列是相同的,被称为对齐时间序列
IoTDB > create timeseries root.ln.wf01.wt01.status BOOLEAN encoding=PLAIN
IoTDB > create timeseries root.ln.wf01.wt01.temperature FLOAT encoding=RLE
IoTDB > create timeseries root.ln.wf02.wt02.hardware TEXT encoding=PLAIN
IoTDB > create timeseries root.ln.wf02.wt02.status BOOLEAN encoding=PLAIN
IoTDB > create timeseries root.sgcc.wf03.wt01.status BOOLEAN encoding=PLAIN
IoTDB > create timeseries root.sgcc.wf03.wt01.temperature FLOAT encoding=RLE
需要注意的点大概就是编码方式与数据类型的对应问题
对齐时间序列:
IoTDB> CREATE ALIGNED TIMESERIES root.ln.wf01.GPS
(latitude FLOAT encoding=PLAIN compressor=SNAPPY,
longitude FLOAT encoding=PLAIN compressor=SNAPPY)
(具体操作看手册就好,没发现啥bug)
根据写入数据的特征自动创建出用户未定义的时间序列
(这感觉好方便,感觉像关系数据库不用建表了一样,我的理解x_x,不过我还没学数据写入,晚点再试试吧
这篇就先到这儿,我的感觉就是,IoTDB的数据管理或者说数据操作,和之前我学过的关系数据库还是挺不一样的。有趣,不过感觉还只是学习,没有接触工业的,所以没感觉到实操上的便利性,这是有点遗憾的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。