赞
踩
PS:我个人是觉得,超级表这个取名是个败笔,容易误导人。取名“母表
”更好。
从如下的sql语句可以得出
create table
不带tags
建表,成普通表create table
带tags
建表,成超级表- taos> use test;
- Database changed.
-
- taos> create table test1(ts timestamp, temperature float);
- Query OK, 0 of 0 rows affected (0.000728s)
-
- taos> create table test2(ts timestamp, temperature float) tags(groupId int);
- Query OK, 0 of 0 rows affected (0.001273s)
-
- taos> show tables;
- table_name |
- =================================
- test1 |
- Query OK, 1 rows in database (0.003077s)
-
- taos> show stables;
- stable_name |
- =================================
- test2 |
- Query OK, 1 rows in database (0.001557s)
-
标签,英文:TAG
TDengine的标签和InfluxDB的标签,差异较大:
TDengine标签的增加和删除只能作用于超级表。
TDengine标签数据的修改只能作用于子表。
标签是静态的。
数据点是动态的,随着时间变化而变化。
这就是时序数据库最大的特点。所有的数据点都带有时间戳。
如果脱离了时间,数据点就没有了意义。
因地制宜,我们基于TDengine和InfluxDB两类不同特性的时序数据库,以电表数据为例,进行数据库设计。
电表数据主要有
数据点 | 标识 | 类型 | 特性 |
---|---|---|---|
电表编号 | id | vchar | 静态 |
电表位置 | location | vchar | 静态 |
电表类型 | ttype | int | 静态 |
分组编号 | groupId | int | 静态 |
正向有功总电量 | electricity | float | 动态 |
设计一张超级表,一个电表一张子表。
电表编号作为子表的表名。
create table test.weather(ts timestamp, electricity float) tags(location nchar(64), groupId int, ttype int)
子表d1
存储编号为d1
电表的数据:
电表位置 | 电表类型 | 分组编号 | 时间 | 正向有功总电量 |
---|---|---|---|---|
福建省厦门市 | 1 | 1 | 2022/09/18 00:15:00 | 0 |
福建省厦门市 | 1 | 1 | 2022/09/18 02:15:00 | 0.11 |
子表d2
存储编号为d2
电表的数据:
电表位置 | 电表类型 | 分组编号 | 时间 | 正向有功总电量 |
---|---|---|---|---|
福建省福州市 | 1 | 1 | 2022/09/18 00:15:00 | 10 |
福建省福州市 | 1 | 1 | 2022/09/18 02:15:00 | 20.2 |
InfluxDB 为无模式写入。
所有电表数据都往一张表里面写入。
电表编号 | 时间 | 正向有功总电量 |
---|---|---|
d1 | 2022/09/18 00:15:00 | 0 |
d1 | 2022/09/18 02:15:00 | 0.11 |
d2 | 2022/09/18 00:15:00 | 10 |
d2 | 2022/09/18 02:15:00 | 20.2 |
至于电表的静态数据,无需存入到InfluxDB数据库中,可以存入MySQL关系型数据库。
因为这些静态数据如果存入InfluxDB数据库,则很浪费资源。
电表属性表
电表编号 | 电表位置 | 电表类型 | 分组编号 |
---|---|---|---|
d1 | 福建省厦门市 | 1 | 1 |
d2 | 福建省福州市 | 1 | 1 |
实话实说,InfluxDB概念更加简单,上手更快。具体可以参考:InfluxDB入门系列教程① 概念简介
TDengine主要是引入了超级表和子表的概念,有点绕,不是那么好理解。
理解清楚了,倒也还好。据说这么设计得目的是:采用一个数据采集点一张表的方式,能最大程度的保证单个数据采集点的插入和查询的性能是最优的。
有实际的存在意义,倒也说得过去。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。