文章目录
- 1 引言
- 2 数据建模
- 3 数据建模的步骤
- 4 创建库
- 5 创建超级表
- 实例
1 引言
工业互联网中有大量的时序数据需要存储和处理,tdengine是一个开源的、国产的、云原生时序数据库,tdengine不是基于其他第三方开源软件高级封装,是涛思数据完全自主研发的。
2 数据建模
一个采集点一张表
- 一个采集点的数据在一个块里面是连续存放的
- 采取Block Range Index 可快速定位要查找的数据所在的块
- 高速写入
- 高速读取访问
- 兼顾效率和灵活性
- 节约存储空间
- 修改静态属性的代价极小
同一类型的采集点用一个超级表描述,也就是一个表结构Schame和静态标签Schame,利用超级表作为模板,生成子表-对应各采集单。
Device ID | timestamp | current | voltage | location | groupID |
---|---|---|---|---|---|
D001 | 1689213147 | 10.1 | 220 | beijing | 2 |
D002 | 1689213147 | 10.1 | 220 | beijing | 2 |
D001 | 1689213147 | 10.1 | 220 | beijing | 2 |
D001 | 1689213147 | 10.1 | 220 | beijing | 2 |
D002 | 1689213147 | 10.1 | 220 | beijing | 2 |
DeviceID 电表ID
动态采集数据
timestamp:时间戳
current:电流
voltage: 电压
静态标签数据
location:位置
groupID:组ID
3 数据建模的步骤
-
建库
create database dbname
-
切换数据库
use dbname
-
创建超级表
create stable stbname (ts timestamp, other fields...) tags (tag fields);
-
创建子表
create table tbname using stbname tags (具体标签值)
-
插入数据
insert into tbname values (now, values...)
4 创建库
建议为数据特征相同的表创建一个数据库,每个库可以配置不同的存储策略。
数据特征:
1. 数据采集的频率 1s/2s/3s/4s/5s
2. 保存时间长短 1M/1Y/3Y
3. 副本的数量: