TDengine 基础使用教程

55b6ffc12cdc349baff795c8b7c0c854.png

TDengine 是一个专为物联网、大数据、实时监控等场景设计的高性能、分布式时序数据库。以下是一个基于 TDengine 的基础使用教程,涵盖从数据库创建到数据插入、查询、表结构修改等常用操作。

d105604758db7a2de09f790700ea3c60.png

1. 创建数据库

创建一个数据库,与其他库不同的是,需要设置数据的保存天数。例如,创建一个名为 POWER 的数据库,数据保存365天:

CREATE DATABASE POWER KEEP 365;

2. 使用数据库

创建数据库后,需要切换到该数据库以进行后续操作:

USE POWER;

3. 创建超级表

超级表是 TDengine 中用于定义数据采集点数据结构的模板。这里我们创建一个名为 meters 的超级表,用于存储电流和电压数据,并附带地理位置和设备组ID作为标签:

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

4. 创建子表并插入数据

每个数据采集点对应一个子表,子表基于超级表创建并指定具体的标签值。例如,为位于“CQ.YB”的设备组ID为4的数据采集点创建子表并插入数据:

CREATE TABLE DD USING meters TAGS("CQ.YB", 4);  
INSERT INTO DD(ts, current, voltage) VALUES(NOW, 1.0, 1);  
INSERT INTO DD(ts, current, voltage) VALUES(NOW, 2.0, 2);

如果尝试插入数据到一个尚未创建的子表(如 TT),TDengine 会自动根据超级表 meters 创建该子表并插入数据:

INSERT INTO TT(ts, current, voltage) USING meters TAGS("CQ.SPB", 3) VALUES(NOW, 10, 219);

5. 多列模型与单列模型

多列模型:适用于同时采集的物理量,可以提高插入和存储效率。

单列模型:适用于物理量种类经常变化的场景,每个物理量单独建表。

6. 查看和管理数据库及表

查看所有数据库:

SHOW DATABASES;

切换数据库:

USE 数据库名;

删除数据库:

DROP DATABASE IF EXISTS 数据库名;

查询所有表(包括超级表和子表):

SHOW TABLES;

查看表结构:

DESCRIBE TT;

7. 修改超级表结构

新增列:

ALTER STABLE meters ADD COLUMN ID NCHAR(64);

删除列:

ALTER STABLE meters DROP COLUMN 字段名;

8. 查询超级表下的子表

TDengine 没有直接的 SQL 命令来列出超级表下的所有子表,我们可以通过查询系统表或使用应用逻辑来管理子表列表。

9. 注意事项

性能优化:尽可能采用多列模型,减少表的数量,提高查询和写入效率。

标签管理:标签值在创建子表时指定,并可以事后修改。

数据持久性:设置合适的数据保留策略,避免不必要的存储空间浪费。

通过以上步骤,你可以开始使用 TDengine 进行时序数据的存储和管理。TDengine 的高性能和易用性使其成为处理物联网大数据的理想选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值