TDengine数据建模

文章介绍了TDengine数据库中如何创建和管理超级表和子表,包括数据保存策略、动态与静态部分的区分、多列模型与单列模型的选择,以及表的增删改查操作。建议根据设备类型和采集特性灵活选择模型,以提高插入效率和存储效率。
摘要由CSDN通过智能技术生成

创建库

建议为特征相同的表创建一个库,每个库可以配置不同的存储策略。

CREATE DATABASE POWER KEEP 365;

数据保存365天。

USE power;

超级表

一个数据采集点一张表,意味1000w智能电表对应1000w张表,

CREATE TABLE meters(ts timestamp,current float,voltage int) TAGS(location binary(64),grounpdId int)

超级表详解,超级表的列分为两部分:动态部分,静态部分

动态部分是采集数据,第一列为时间戳,其他列为采集的物理量

静态部分是指采集点的静态属性,一般作为标签.如采集点的地理位置、设备型号、设备组、管理员ID等。

标签可以时候、增加、删除、修改。

同时采集同表:一张超级表里,包含的采集物理量必须同时采集的,也就是说时间戳是相同的。

对一个类型的设备,可能存在多组物理量,每组物理量并不是同时采集的,则需要为每组物理量单独建一个超级表.因此一个类型的设备,

可能需要建立多个超级表

系统有N个不同类型的设备,就需要建立至少N个超级表。

一个系统可以有多个DB库,一个DB库里可以有一到多个超级表。

创建表/子表

CREATE TABLE DD USING meters TAGS("CQ.YB",4);
insert into DD(ts,current,voltage) values(NOW,1,1);
insert into DD(ts,current,voltage) values(NOW,2,2
);

TDengine对每个数据采集点需要独立建表

因为源于超级表(meters)创建而成,也称子表(d1001)

创建时,需要使用超级表做模板,同时指定标签的具体值

一个超级表,可包含若干子表,子表数量没有限制。

d1001是子表名,meters是超级表名,紧跟Location的标签值为"CQ.YB" grounpdId的标签值为2

在创建子表时,需指定标签值,事后也可以修改

建议将数据采集点的全局唯一ID作为子表名,如设备序列号。

子表自动建表。

INSERT INTO TT USING meters TAGS("CQ.SPB", 3) values(now,10,219);

如果表TT还未创建,则使用超级表meters做模板自动创建,同时打上标签值==="CQ.SPB", 3

多列模型VS单列模型

同时采集同表采用多列模型:只要物理量是同一数据采集点同时采集的,这些量就可以作为不同列放在一张超级表里

单列模型:每个物理量都单独建表。比如电流、电压两个量,就建两张超级表。

TDengine建议

尽可能才采用多列模型,因为插入效率和存储效率更高

对于有些场景,一个采集点的物理量的种类经常变化,可采用单列模型

CREATE TABLE VECH(ts timestamp,vtemp int) TAGS(vin binary(30));
CREATE TABLE vtpTS839 USING VECH TAGS("TS839") ;
CREATE TABLE VECH_TIRE(ts timestamp,vpressure int) TAGS(vin binary(30));
CREATE TABLE vtrTS839 USING VECH_TIRE TAGS('TS839') ;

查看所有数据库

show databases;

使用/切换数据库

use 数据库名;

创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [KEEP keep]

删除数据库

DROP DATABASE [IF EXISTS] db_name

查询所有表

show stables; 或者 show tables;

查看表结构

describe TT;

超表:

1. 新增列

alter stable 超表名 add column ID NCHAR(64);

2. 删除列

alter stable 超表名 drop column 字段名;

查询超表下有的子表

select tbname from 超表名 [ where tbname in ('子表名') ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值