TDengine TSDB 3.4.0 时序数据库(安装部署 + 数据模型 + SQL 实操 + 项目连接)

一、TDengine TSDB 简介

TDengine TSDB 是一款高性能、集群开源、云原生的时序数据库(TSDB),专为物联网 IoT、工业互联网、电力行业、IT 运维等时序数据场景深度优化,具备优秀的弹性伸缩能力。

内置缓存、流式计算、数据订阅等能力,可大幅简化系统架构设计,降低研发与运维成本。能够高效汇聚、存储、分析、分发设备采集器每日 TB~PB 级海量时序数据,支持业务实时监测、异常预警与实时业务洞察。

官方文档:https://docs.taosdata.com/

二、TDengine 产品版本分类

TDengine 整体分为三大产品线:

  1. TDengine TSDB-OSS 开源版

    开源免费、高性能云原生时序数据库,内置缓存、流计算、数据订阅,轻量化易部署,适合学习、个人项目、中小型业务使用。

  2. TDengine TSDB-Enterprise 企业版

    支持私有化部署,可部署在边缘机房、本地内网、公有云 / 私有云,拥有开源版不具备的高级企业特性,适合政企生产级落地。

  3. TDengine Cloud 云服务版

    全托管物联网与工业大数据云平台,无需自建运维,开箱即用,适合中小规模业务快速上线。

三、各版本功能对比

功能分类 功能项 社区版 企业版 Cloud 版
数据库操作和管理 数据写入
数据查询
分布式集群
命令行、导入导出、基础工具
三副本存储
两副本存储
分级存储
数据重组
视图功能
共享存储
附加功能 数据缓存
数据订阅
流计算
数据可视化
多语言连接器
Web 管理工具
数据备份与恢复
数据复制
数据库双活
VPC 对等连接
国产化适配
IDMP
TDgpt
数据接入 Kafka/MQTT/OPC 等工业协议
主流关系库 InfluxDB/MySQL/Oracle 等接入
Flink/Spark 接入
数据库安全能力 权限控制、数据加密、行为审计、IP 白名单
服务与支持 专业技术服务
数据迁移服务
全托管服务

四、TDengine TSDB-OSS Docker 安装部署

1. 拉取镜像

bash 复制代码
docker pull tdengine/tsdb:3.4.0.0

2. 启动容器

bash 复制代码
docker run -d \
   -p 6030:6030 \
   -p 6041:6041 \
   -p 6043:6043 \
   -p 6044-6049:6044-6049 \
   -p 6044-6045:6044-6045/udp \
   -p 6060:6060 \
   tdengine/tsdb:3.4.0.0

3. 可视化管理工具 taosExplorer

TDengine 自带 Web 可视化管理平台,无需额外部署。

  • 访问地址:http://localhost:6060
  • 默认账号:root
  • 默认密码:taosdata

登录后可直观管理数据库、超级表、子表,支持在线执行 SQL 查询、查看时序数据。

4. Windows 客户端安装与命令行连接

客户端下载地址:

https://www.taosdata.com/download-center?product=TDengine+TSDB-OSS+Client\&version=3.4.0.0\&platform=Windows\&architecture=x64

常用命令行参数
  • -h:服务端 IP,默认 127.0.0.1
  • -P:端口号,默认 6030
  • -u:用户名,默认 root
  • -p:密码,特殊字符需转义,默认 taosdata
连接示例
bash 复制代码
taos -h 192.168.80.233 -P 6030 -u root -p

五、TDengine 核心数据模型

1. 采集量(变量)

设备传感器采集的动态物理指标,如电流、电压、温度、压力、GPS 等;数据随时间持续增长,支持整型、浮点、布尔、字符串等类型。

2. 标签(静态属性)

设备固定不变的静态属性,如设备型号、安装位置、分组编号等;标签数据不随时间增长,支持后期修改、新增、删除。

3. 数据采集点

独立的采集终端 / 传感器节点,同一采集点同一时刻产生一条时序数据,共用时间戳;复杂设备可包含多个独立采集点,采集周期互不干扰。

4. 普通表

TDengine 兼容关系型表模型,遵循第一列为时间戳 Timestamp 规范,采用列式存储、时间戳自动索引;设计理念为一个采集点一张表

5. 超级表(STable)

抽象统一模板,将结构相同、标签不同的多个设备表归为一类;统一管理表结构、批量聚合查询,解决设备量大表过多难以维护的问题。

6. 子表

以超级表为模板创建的具体设备表,绑定专属标签属性;

  • 一张超级表可包含多张子表
  • 超级表改结构,所有子表自动生效
  • 超级表仅做模板,不存储实际数据
  • 子表名仅支持字母、数字、下划线,不能以数字开头

六、SQL 实操示例

1. 创建数据库

sql 复制代码
CREATE DATABASE power PRECISION 'ms' KEEP 3650 DURATION 10 BUFFER 16;
use power;

2. 创建超级表

sql 复制代码
CREATE STABLE meters (
    ts timestamp, 
    current float, 
    voltage int, 
    phase float
) TAGS (
    location varchar(64), 
    group_id int
);

3. 手动创建子表

sql 复制代码
CREATE TABLE d1001 
USING meters (
    location,
    group_id
) TAGS (
    "California.SanFrancisco", 
    2
);

4. 自动建表并写入数据

无需提前建子表,写入时自动创建:

sql 复制代码
INSERT INTO d1002 
USING meters 
TAGS (
    "California.SanFrancisco", 
    2
) VALUES (
    NOW, 
    10.2, 
    219, 
    0.32
);

5. 创建普通表

sql 复制代码
CREATE TABLE d1003(
    ts timestamp,
    current float, 
    voltage int, 
    phase float,
    location varchar(64), 
    group_id int
);

普通表与子表区别

  1. 标签扩展性:子表支持动态标签维护,普通表无标签概念;
  2. 表归属:子表归属超级表,普通表独立存在;
  3. 相互转换:普通表与子表创建后无法互相转换。

七、SpringBoot 项目 JDBC 连接配置

1. 原生 TCP 连接(端口 6030)

yaml 复制代码
spring:
  datasource:
    driver-class-name: com.taosdata.jdbc.TSDBDriver
    url: jdbc:TAOS://127.0.0.1:6030/taos?timezone=Asia/Beijing&charset=utf-8
    username: root
    password: taosdata

2. RESTful 连接(端口 6041,兼容跨网络)

yaml 复制代码
spring:
  datasource:
    driver-class-name: com.taosdata.jdbc.rs.RestfulDriver
    url: jdbc:TAOS-RS://127.0.0.1:6041/taos?timezone=Asia/Beijing&charset=utf-8
    username: root
    password: taosdata

相关推荐
要开心吖ZSH18 小时前
MVCC 进阶:快照读 vs 当前读、幻读与 Next-Key Lock
java·数据库·sql·mysql·mvcc
2501_9423895519 小时前
小米寥寥几家车企设计汽车顶棚
华为·编辑器·时序数据库·harmonyos
湮w21 小时前
JDBC 完整笔记 + 核心 API 详解(入门到实战)
数据库·sql·mysql
吴声子夜歌21 小时前
SQL进阶——HAVING子句
数据库·sql
云水一下21 小时前
DVWA从入门到精通(九):SQL Injection (Blind)(SQL盲注)
sql·dvwa·sql盲注
吴声子夜歌1 天前
SQL进阶——EXISTS谓词
java·数据库·sql
风中芦苇啊1 天前
从直接生成到受控配置:新一代图表Agent的SQL安全生成范式
数据库·sql·安全
吴声子夜歌1 天前
SQL进阶——窗口函数
数据库·sql
ClouGence1 天前
SQL Server CDC 如何降低主库压力?Always On 备库读取实践
数据库·后端·sql·sqlserver
吴声子夜歌2 天前
SQL进阶——自连接
数据库·sql