文章目录
- 一、前文
- 二、数据模型
- 2.1 关系型数据库MySQL。
- 2.2 时序数据库TDengine
- 2.3 时序数据库InfluxDB
- 2.4 时序数据库IoTDB(本专栏的正主)
- 三、基础概念
- 3.1 数据库(Database)
- 3.2 设备模板(元数据模板)
- 3.3 设备(实体)
- 3.4 物理量(字段)
- 四、数据类型
- 参考
一、前文
IoTDB入门教程——导读
本文主要讲述IoTDB的数据模型和基础概念。
不同的数据库都有不同侧重,IoTDB亦如是。
- TDengine 入门教程②——基础概念和知识点
- InfluxDB入门系列教程① 概念简介
二、数据模型
2.1 关系型数据库MySQL。
- 是我们最熟悉的:先建库(database),再建表(table).
- 表里面有不同的字段,数据库的使用就是对表数据进行增删改查。
2.2 时序数据库TDengine
增加了超级表和普通表的概念。
2.3 时序数据库InfluxDB
增加了无模式写入的概念。
2.4 时序数据库IoTDB(本专栏的正主)
增加了物联网数据模型,即企业组织结构和设备实体层次结构。如下图。
- IoTDB 采用树形结构定义数据模式。
- 以从 ROOT 节点到叶子节点的路径来命名一个时间序列,层次间以“.”连接。
三、基础概念
3.1 数据库(Database)
- 允许将任意前缀路径设置成数据库,例如
root.user1
。 - 不允许将一个完整路径(例如的
root.ln.wf01.wt01.status
) 设置成 database。 - 被设置为数据库的路径总字符数不能超过64,包括路径开头的
root.
这5个字符。 - 一个 database 中的所有数据会存储在同一批文件夹下。
比较大的槽点是数据库必须是
root.*
开头。
很不习惯,也感觉很没必要。
如果实在必要,在代码层面隐藏掉root.*
不就行了吗。
3.2 设备模板(元数据模板)
有点类似关系型数据库中的表。
只不过更加复杂,有创建、挂载、激活、修改、查看、解除、卸载、删除等步骤。
具体查看:元数据操作 | IoTDB Website
3.3 设备(实体)
- 一个物理设备,也称实体(Entity),是在实际场景中拥有物理量的设备或装置。
- 设备(实体)无需手动创建,默认为倒数第二层。
- 在数据库到设备之间还有一层,属于企业组织结构的一层。
3.4 物理量(字段)
- 物理量也就是,等同于关系型数据库中的表的字段。
- 是在实际场景中检测装置所记录的测量信息。
四、数据类型
IoTDB 支持以下六种数据类型:
- BOOLEAN(布尔值)
- INT32(整型)
- INT64(长整型)
- FLOAT(单精度浮点数)
- DOUBLE(双精度浮点数)
- TEXT(字符串)
参考
数据模型 | IoTDB Website
数据类型 | IoTDB Website
元数据操作 | IoTDB Website
觉得好,就一键三连呗(点赞+收藏+关注)