使用TDengine时序数据库的介绍以及系统整合

目录

一、 如何使用

  1. 安装目录介绍 

  2. 数据文件查看和备份 

  3. 客户端连接 

  4. sql使用

、 系统整合

  1. Java连接配置
  2. Demo示例

三、 对采集点、超级表、子表和设备等关系进行维护


一、 如何使用

  1. 安装目录介绍 

    目录/文件

    说明

    /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 默认日志文件目录。可通过[配置文件]修改位置。

  2. 数据文件查看和备份

    1. 使用sql语句SHOW demo.VGROUPS; 查看数据库所在vnode的分组 
    2. 连接到服务器查看数据库默认安装地址

    3. 数据备份使用taosdump工具
      • 安装taosdump工具。详细步骤参考官网
      • 备份所有数据库:指定 -A 或 --all-databases 参数;
      • 备份多个指定数据库:使用 -D db1,db2,... 参数;
      • 备份指定数据库中的某些超级表或普通表:使用 dbname stbname1 stbname2 tbname1 tbname2 ... 参数,注意这种输入序列第一个参数为数据库名称,且只支持一个数据库,第二个和之后的参数为该数据库中的超级表或普通表名称,中间以空格分隔;
      • 备份系统 log 库:TDengine 集群通常会包含一个系统数据库,名为 log,这个数据库内的数据为 TDengine 自我运行的数据,taosdump 默认不会对 log 库进行备份。如果有特定需求对 log 库进行备份,可以使用 -a 或 --allow-sys 命令行参数。
  3. 客户端连接 

    1. 使用原生连接,通过客户端驱动程序 taosc 直接与服务端程序 taosd 建立连接默认端口6030
    2. 使用原生连接,通过客户端驱动程序 taosc 直接与服务端程序 taosd 建立连接默认端口6030 。​​使用RestFul方式需要启动数据库服务的taosAdapter 服务,使用命令 systemctl start taosadapter
  4. sql使用

    1. 支持标准sql语句操作数据库
    2. 创建数据库。create database if not exists db vgroups 10 buffer 10
      1. BUFFER: 一个 VNODE 写入内存池大小,单位为 MB,默认为 96,最小为 3,最大为 16384。
      2. CACHEMODEL:表示是否在内存中缓存子表的最近数据。默认为 none
      3. VGROUPS:数据库中初始 vgroup 的数目。
    3. 创建超级表,我这里以创建电表业务为例。
      1. CREATE TABLE demo.vc_meter(ts timestamp, voltage float,ele_current float) tags(device_id nchar(64));
      2. 超级表中列的最大个数为 4096,需要注意,这里的 4096 是包含 TAG 列在内的,最小个数为 3,包含一个时间戳主键、一个 TAG 列和一个数据列。
      3. TAGS 中的 TIMESTAMP 列写入数据时需要提供给定值,而暂不支持四则运算,例如 NOW + 10s 这类表达式。
      4. TAGS 列名不能与其他列名相同。
      5. TAGS 列名不能为预留关键字。
      6. TAGS 最多允许 128 个,至少 1 个,总长度不超过 16 KB。
    4. 创建子表
      1. create table demo.vc_meter_10001 using demo.vc_meter tags ("10001")
      2. 表的第一个字段必须是 TIMESTAMP,并且系统自动将其设为主键;
      3. 表名最大长度为 192;
      4. 表的每行长度不能超过 48KB;(注意:每个 BINARY/NCHAR 类型的列还会额外占用 2 个字节的存储位置)
    5. 插入数据
      1. INSERT INTO demo.vc_meter_10003 USING demo.vc_meter tags('10003') values(now, 220,50);
      2. USING 子句是自动建表语法。如果用户在写数据时并不确定某个表是否存在,此时可以在写入数据时使用自动建表语法来创建不存在的表,若该表已存在则不会建立新表。
      3. VALUES 语法表示了要插入的一行或多行数据
    6. 查询数据
      1. 查询超级表:select * from demo.vc_meter ;
      2. 查询子表:select * from demo.vc_meter_10001;
    7. 显示接入集群的应用(客户端)信息。SHOW APPS;
    8. 显示当前集群的信息SHOW CLUSTER;
    9. 显示当前系统中存在的连接的信息。SHOW CONNECTIONS;
    10. 显示 db_name 指定的数据库的创建语句。SHOW CREATE DATABASE db_name;
    11. 显示tb_name 指定的超级表的创建语句SHOW CREATE STABLE [db_name.]stb_name;
    12. 显示用户定义的所有数据库。SHOW DATABASES;
    13. 显示当前系统中 DNODE 的信息。SHOW DNODES;

、 系统整合

  1. Java连接配置
    1. 使用springboot+mybatisPlus配置数据库连接池
    2. 我这里没有指定数据库,动态的通过设备id来指定往哪个子表中插入数据

  2. Demo示例
    1. 实体类 一个超级表对应一个实体



       
    2. 创建 DemoMapper 接口


       
    3. 创建DemoMapper.xml

    4. 接口类

    5.  数据演示

三、 对采集点、超级表、子表和设备等关系进行维护

对应关系

关系模型

​​​​​​​

详细参数配置可参考TDengine官网​​​​​​​文档

猜你喜欢

转载自blog.csdn.net/weixin_42599091/article/details/128692453