目录
一、 如何使用
-
安装目录介绍
-
数据文件查看和备份
-
客户端连接
-
sql使用
二、 系统整合
- Java连接配置
- Demo示例
三、 对采集点、超级表、子表和设备等关系进行维护
一、 如何使用
-
安装目录介绍
目录/文件
说明
/usr/local/taos/bin
TDengine 可执行文件目录。其中的执行文件都会软链接到/usr/bin 目录下。
/usr/local/taos/driver
TDengine 动态链接库目录。会软链接到/usr/lib 目录下。
/usr/local/taos/examples
TDengine 各种语言应用示例目录。
/usr/local/taos/include
TDengine 对外提供的 C 语言接口的头文件。
/etc/taos/taos.cfg
TDengine 默认[配置文件]
/var/lib/taos
TDengine 默认数据文件目录。可通过[配置文件]修改位置。
/var/log/taos
TDengine 默认日志文件目录。可通过[配置文件]修改位置。
-
数据文件查看和备份
- 使用sql语句SHOW demo.VGROUPS; 查看数据库所在vnode的分组
-
连接到服务器查看数据库默认安装地址
- 数据备份使用taosdump工具
- 安装taosdump工具。详细步骤参考官网
- 备份所有数据库:指定 -A 或 --all-databases 参数;
- 备份多个指定数据库:使用 -D db1,db2,... 参数;
- 备份指定数据库中的某些超级表或普通表:使用 dbname stbname1 stbname2 tbname1 tbname2 ... 参数,注意这种输入序列第一个参数为数据库名称,且只支持一个数据库,第二个和之后的参数为该数据库中的超级表或普通表名称,中间以空格分隔;
- 备份系统 log 库:TDengine 集群通常会包含一个系统数据库,名为 log,这个数据库内的数据为 TDengine 自我运行的数据,taosdump 默认不会对 log 库进行备份。如果有特定需求对 log 库进行备份,可以使用 -a 或 --allow-sys 命令行参数。
- 使用sql语句SHOW demo.VGROUPS; 查看数据库所在vnode的分组
-
客户端连接
- 使用原生连接,通过客户端驱动程序 taosc 直接与服务端程序 taosd 建立连接。默认端口6030
- 使用原生连接,通过客户端驱动程序 taosc 直接与服务端程序 taosd 建立连接。默认端口6030 。使用RestFul方式需要启动数据库服务的taosAdapter 服务,使用命令 systemctl start taosadapter
-
sql使用
- 支持标准sql语句操作数据库
- 创建数据库。create database if not exists db vgroups 10 buffer 10
- BUFFER: 一个 VNODE 写入内存池大小,单位为 MB,默认为 96,最小为 3,最大为 16384。
- CACHEMODEL:表示是否在内存中缓存子表的最近数据。默认为 none
- VGROUPS:数据库中初始 vgroup 的数目。
- 创建超级表,我这里以创建电表业务为例。
- CREATE TABLE demo.vc_meter(ts timestamp, voltage float,ele_current float) tags(device_id nchar(64));
- 超级表中列的最大个数为 4096,需要注意,这里的 4096 是包含 TAG 列在内的,最小个数为 3,包含一个时间戳主键、一个 TAG 列和一个数据列。
- TAGS 中的 TIMESTAMP 列写入数据时需要提供给定值,而暂不支持四则运算,例如 NOW + 10s 这类表达式。
- TAGS 列名不能与其他列名相同。
- TAGS 列名不能为预留关键字。
- TAGS 最多允许 128 个,至少 1 个,总长度不超过 16 KB。
- 创建子表
- create table demo.vc_meter_10001 using demo.vc_meter tags ("10001")
- 表的第一个字段必须是 TIMESTAMP,并且系统自动将其设为主键;
- 表名最大长度为 192;
- 表的每行长度不能超过 48KB;(注意:每个 BINARY/NCHAR 类型的列还会额外占用 2 个字节的存储位置)
- 插入数据
- INSERT INTO demo.vc_meter_10003 USING demo.vc_meter tags('10003') values(now, 220,50);
- USING 子句是自动建表语法。如果用户在写数据时并不确定某个表是否存在,此时可以在写入数据时使用自动建表语法来创建不存在的表,若该表已存在则不会建立新表。
- VALUES 语法表示了要插入的一行或多行数据
- 查询数据
- 查询超级表:select * from demo.vc_meter ;
- 查询子表:select * from demo.vc_meter_10001;
- 显示接入集群的应用(客户端)信息。SHOW APPS;
- 显示当前集群的信息。SHOW CLUSTER;
- 显示当前系统中存在的连接的信息。SHOW CONNECTIONS;
- 显示 db_name 指定的数据库的创建语句。SHOW CREATE DATABASE db_name;
- 显示tb_name 指定的超级表的创建语句。SHOW CREATE STABLE [db_name.]stb_name;
- 显示用户定义的所有数据库。SHOW DATABASES;
- 显示当前系统中 DNODE 的信息。SHOW DNODES;
二、 系统整合
- Java连接配置
- 使用springboot+mybatisPlus配置数据库连接池
-
我这里没有指定数据库,动态的通过设备id来指定往哪个子表中插入数据
- 使用springboot+mybatisPlus配置数据库连接池
- Demo示例
- 实体类 一个超级表对应一个实体
- 创建 DemoMapper 接口
- 创建DemoMapper.xml
- 接口类
- 数据演示
- 实体类 一个超级表对应一个实体
三、 对采集点、超级表、子表和设备等关系进行维护
对应关系
关系模型
详细参数配置可参考TDengine官网文档