时序数据库TDengine TSDB(安装/介绍)

一、TDengine 简介

1.1 简介

TDengine是一款专为物联网、工业互联网、车联网、IT运维等场景设计的高性能、分布式时序数据库(主要是开源)。它不仅能高效存储和查询时间序列数据,还集成了流式计算、数据订阅等功能,致力于为海量时序数据处理提供一套极简的解决方案

1.2 功能点

功能点 关键能力 亮点 / 说明
1. 高效写入与存储 (支持SQL) 支持SQL及多种协议写入;采用列式存储和高压缩算法。支持标准INSERT,单条/批量写入,自动建表,CSV文件导入,多协议写入。 应对高频数据写入压力,大幅降低存储成本(官方称可比通用方案降低90%以上)。写入即建模,对时序场景高度优化。
2. 查询支持 完整标准SQL语法,丰富时序函数(降采样、插值),多种窗口聚合。提供时间加权平均等时序函数。 支持时间戳乱序插入,查询与通用数据库无差异。
3. 缓存 内置写缓存、读缓存、元数据缓存 替代外部缓存(如Redis),优化最新数据访问。
4. 流式计算 类SQL定义流,窗口触发,结果写入新表或对外通知。 3.3.7.0版本重构,能力更强。
5. 数据订阅 提供类Kafka的消费组模型,可订阅库、超级表或任意查询结果。 可替代独立消息队列,简化架构。
6. 可视化 官方支持Grafana 插件,与Looker Studio (Google) 等BI工具集成。 生态完善,开箱即用。
7. 集群 原生分布式设计,支持水平扩展、高可用、负载均衡。 轻松应对数据量增长,保障系统高可用性,适配现代云环境。 企业版功能更强大(如数据挂载)。
8. 支持编程 支持C/C++, Java, Python, Go, Rust, Node.js, C# 等主流语言连接器。 提供原生连接REST APIWebSocket多种连接方式。

二、概念

2.1 核心解读

概念 对应电表示例 本质与作用 在TDengine中的体现
采集点 每一个独立的电表,如"幸福小区1栋101室电表"。 数据产生的源头或实体 对应一张子表
采集量 电表测量的具体数值 ,如电压电流有功功率 随时间变化的监测指标(数值型)。 子表中的数据列(非TAG列)。
标签 描述电表的静态属性 ,如所属城市电表型号相位 用于分类、筛选设备的元数据(类型多样)。 子表中的标签列(TAG)。在超级表中定义。
存储某个电表所有时序数据的容器。 数据存储的基本单位。 分为超级表 (模板)和子表(实例)。
超级表 定义所有智能电表的统一数据模型 子表的模板,定义了表结构(采集量+标签)。 通过CREATE STABLE创建。是查询和管理的关键入口。
子表 "幸福小区1栋101室电表"独有的数据表 具体采集点的数据表,结构继承自超级表。 通过CREATE TABLE USING自动创建。一张子表对应一个采集点

至于为什么是电表举例 这官方专属解释,这都不重要。

三、安装

3.1 TDengine服务端安装包

官方文档: https://docs.taosdata.com/3.3.8/get-started/package/

  • 在TDengine中,服务端安装包通常包含taosd(服务端进程)、taosadapter(适配器)、taos(命令行客户端)等组件。

  • 客户端安装包通常只包含taos(命令行客户端)和相关的驱动、连接库等。

  • 注意:在Windows上,TDengine的服务端和客户端可以安装在同一台机器上,但通常在生产环境中,服务端会安装在Linux服务器上。Windows版本的服务端主要用于开发

3.2 关于TDengine配置文件

以Windows举例安装TDengine 3.3.8.8,以下是关于配置文件 taos.cfg 的核心信息和关键配置项说明。

3.2.1 配置文件的位置与创建
  • 默认位置 :通常位于TDengine的安装目录下,例如 C:\TDengine\cfg\taos.cfg

  • 首次使用 :安装后,该目录下可能没有 这个文件。当你第一次 通过客户端 (taos.exe) 连接服务端,或者启动 taosd 服务时,程序会自动生成 一个包含默认值的 taos.cfg 文件。

  • 手动创建 :你也可以根据需要,自己在该目录下新建一个文本文件,并命名为 taos.cfg,然后填入所需的配置参数。

3.2.2 常用核心配置项说明

关于单机或初步集群部署最重要的几项配置。

配置项 默认值 说明与建议
firstEp localhost:6030 最重要的参数之一 。客户端或节点启动时连接的第一个端点(End Point)。 • 单机版 :保持默认即可。 • 集群版 :必须设置为集群中第一个启动的 那个节点的 fqdn:port
fqdn 本机主机名 另一个关键参数 。本节点对外提供服务的完全限定域名。集群中每个节点必须唯一。 • 单机版 :可保持默认或设为 localhost。 • 集群版必须 设置为该节点能被集群内其他机器通过网络访问到的地址(IP或域名)。
serverPort 6030 taosd 服务的监听端口。如无冲突,无需修改。
dataDir (安装目录下的 data) 数据文件存储路径 。强烈建议设置为一个空间充足、性能较好 的独立磁盘分区路径,如 D:\TDengineData
logDir (安装目录下的 log) 日志文件存储路径。建议设置,便于排查问题。
locale 系统自动检测 系统区域/语言设置 。有时与时间格式、排序规则有关。中文Windows通常为 zh_CNen_US.UTF-8。保持默认通常无问题。
charset 系统自动检测 字符集编码 。默认 UTF-8。务必确认与应用系统和客户端连接字符串的编码一致,防止乱码。
timezone 系统自动检测 时区设置 。客户端连接时也可指定。对于跨国应用,建议在配置文件中统一设置为 UTC 时区,避免时区混乱。
3.2.3 配置生效与检查
  • 修改生效 :对 taos.cfg 的绝大多数修改,都需要重启 taosd 服务才能生效。

  • 检查配置 :启动服务并连接后,可以在 taos 客户端中执行 SHOW DNODES; 命令,查看各个节点的 end_point (即fqdn:serverPort) 等信息,以确认配置是否正确加载。

3.3 TDengine启动/停止

3.3.1 🚀 启动TDengine服务

你可以根据需要使用以下任何一种方法启动服务:

启动方法 具体命令/操作 适用场景与说明
1. 使用启动脚本(推荐) 管理员身份 打开命令提示符(CMD),执行: C:\TDengine\start-all.bat 最简单 。此脚本会自动启动所有必需的服务,包括 taosdtaosAdapter
2. 使用系统服务命令 管理员身份 打开CMD,依次执行: sc start taosd sc start taosadapter 标准的服务管理方式,适合在脚本中调用。
3. 直接运行可执行文件 管理员身份 打开CMD,进入安装目录执行: taosd.exe taosadapter.exe 启动后命令行窗口会阻塞,关闭窗口即停止服务。通常用于临时测试或排查问题。

注:首次启动前,请确保已完成taos.cfg配置(例如dataDir, logDir等路径),否则服务可能无法正常启动。

3.3.2 ⏹️ 停止TDengine服务

停止服务也有对应的方法:

停止方法 具体命令/操作 说明
1. 使用系统服务命令(推荐) 管理员身份 打开CMD,依次执行: sc stop taosadapter sc stop taosd 标准的服务停止方式。sc stop命令会等待服务完成必要的清理工作后优雅停止。
2. 通过任务管理器 打开任务管理器,在"进程"或"服务"选项卡中找到 taosd.exetaosadapter.exe,结束任务。 在前两种方法失效时强制结束进程,不推荐常规使用。
3.3.3 🔍 验证服务状态

启动后,可以通过以下命令验证服务是否正常运行:

java 复制代码
sc query taosd
sc query taosadapter

如果状态显示为 RUNNING,即表示服务启动成功。

3.3.4 💡 重要提醒
  1. 管理员权限:所有启动/停止操作都需要在管理员身份运行的命令提示符(CMD)或PowerShell中进行。

  2. 客户端连接 :服务启动后,你可以在CMD中运行 C:\TDengine\taos.exe 来启动TDengine命令行客户端(CLI)并连接数据库。

  3. 错误:如果在启动过程中遇到错误,可以检查 C:\TDengine\log 目录下的日志文件(如 taosdlog.0),这通常是定位问题的关键。

3.4 TDengine图形化管理工具

注意TDengine 3.3.8 企业版自带一个名为 taos-explorer 的可视化图形管理工具,它已经包含在您之前下载的安装包中。(如果你是其他版本,可能(安装包可能不自带视图)需要另外下载一个可视化工具)

启动服务后访问**:**http://127.0.0.1:6060/#/login TDengine 用户名(通常是 root)和密码(默认是 taosdata)登录。

重要概念**(区分相关服务,以下是它们的核心区别):**

服务/端口 核心功能 访问方式 备注
taos-explorer (端口 6060) 可视化图形管理工具。提供数据库、表的可视化管理,数据浏览,监控仪表盘等。 通过 Web 浏览器 访问。
taosAdapter (端口 6041) REST API 网关。提供 HTTP 接口,供编程语言(如 Python、Java)或其他工具(如 Grafana)连接 TDengine。 通过编程调用 HTTP 请求 访问。
taosd (端口 6030) 数据库核心引擎。处理所有 SQL 查询和数据存储。 通过 TDengine 原生协议,由客户端(如 taos.exe)连接。

四、TDengine账号密码修改

要修改TDengine可视化界面的登录密码,实际上需要修改的是TDengine数据库本身的用户密码。所有界面(如你访问的taos-explorer)都使用这个统一的数据库账户进行认证。

4.1 修改密码的核心步骤

核心操作是通过命令行客户端连接到数据库,然后使用SQL命令修改密码。

第一步:连接数据库

打开命令行,使用以下任一方式登录,具体取决于你是否已设置过密码。

连接方式 命令 (在CMD中执行) 适用场景
使用默认密码连接 C:\TDengine\taos.exe -h 127.0.0.1 -P 6041 -u root -ptaosdata 初次登录或未改过密码时
使用已设置的密码连接 C:\TDengine\taos.exe -h 127.0.0.1 -P 6041 -u root -p你的密码 已经修改过默认密码后。

说明

  • -h 127.0.0.1 -P 6041 指定通过 REST 接口 (taosAdapter) 连接,这是最通用的方式。

  • 如果连接成功,命令行提示符会变为 taos>

第二步:执行修改密码命令

taos> 提示符下,执行以下SQL命令(将 new_strong_password 替换为你的新密码):

sql 复制代码
ALTER USER root PASS 'new_strong_password';

看到 Query OK 的提示,即表示密码修改成功。

4.2 关于密码要求

  • 根据官方文档,密码长度需为 8 到 255 个字节

  • 密码至少需包含大写字母、小写字母、数字、特殊字符中的三类。

  • 若想使用简单密码,可在修改前运行 ALTER ALL DNODES 'EnableStrongPassword' '0'; 来关闭强密码校验(企业版 v3.3.6.0 以上支持)

时序数据库(TDengine TSDB)基本SQL使用**(点击跳转->)**

相关推荐
程序员黄老师2 小时前
一分钟了解时序数据库(TSDB)
大数据·数据库·时序数据库
正在走向自律2 小时前
从“可用”到“好用”:金仓时序数据库开发者体验深度测评与二次开发生态搭建指南
数据库·时序数据库·金仓数据库
1.14(java)2 小时前
事务操作全解析:ACID特性与实战技巧
数据库·事务·acid特性
熊文豪2 小时前
国产化替代浪潮下:金仓时序数据库的破局之路
数据库·时序数据库·金仓数据库
DBA小马哥2 小时前
时序数据库InfluxDB迁移替换:痛点剖析与解决方案
运维·数据库·时序数据库·dba
早日退休!!!2 小时前
数据库高并发技术:核心原理与工程实践
数据库
信创天地2 小时前
信创环境下数据库与中间件监控实战:指标采集、工具应用与告警体系构建
java·运维·数据库·安全·elk·华为·中间件
TDengine (老段)2 小时前
TDengine ODBC 连接器进阶指南
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
鱼跃鹰飞2 小时前
面试题:说一下Spring的事务传播特性
java·数据库·spring