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

相关推荐
码农-0049 小时前
Springboot 集成 Ehcache操作数据库显示SQL语句设置
数据库·spring boot·sql
钱栈up9 小时前
全量 21 个失败、单跑全绿:泄漏进连接池的 SQL 变量
sql·单元测试·测试
旺仔不是程序员9 小时前
pg_trgm GIN 索引:PostgreSQL 正则、模糊与近似度查询的三合一加速器
数据库·后端·sql
考虑考虑10 小时前
SQL中的 CASE WHEN
数据库·后端·sql
旺仔不是程序员10 小时前
索引膨胀与重建:PostgreSQL REINDEX 生产实践
数据库·后端·sql
漂着的圆木6 天前
Agent 功能参与度:Copilot 怎么算
sql·数据分析·agent·githubcopilot·度量
旺仔不是程序员6 天前
LIMIT 1:PostgreSQL 只取一行的高效查询姿势
数据库·后端·sql
隔窗听雨眠6 天前
边缘实时响应与云端全局洞察:TDengine时序数据平台建设指南
tdengine
知识的搬运工旺仔7 天前
唯一索引与 NULL 值:PostgreSQL 主键约束与 NULLS NOT DISTINCT
数据库·后端·sql·postgresql