TDengine 3.3.7.5 版本发布解读:数据接入、WebSocket 与共享存储的关键更新
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
本文基于官方 Release Notes(3.3.7.5,发布日期 2025-08-28)展开,系统梳理该维护版本在新特性、增强项与缺陷修复三个维度的全部变更,并结合仓库中的配置文档与源码,重点解读 taosX 数据接入、C WebSocket 连接、共享存储、流计算与 taosExplorer 等模块的落地细节,帮助你在升级到 3.3.7.5 后快速评估影响面并正确配置。
版本定位与升级说明
3.3.7.5 属于 TDengine 3.3.x 系列的一个维护版本(Maintenance Release)。根据仓库中 版本规则说明 的定义,TDengine 版本号由四位数字构成,格式为[Major+].[Major].[Feature].[Maintenance]:
- 维护版本(最后一位)不引入新特性,只做缺陷修复,支持滚动升级,且升级后可回退;
- 滚动升级指:对于由三个及以上节点构成、且采用三副本的集群,逐个节点停止、升级、再启动,重复此过程直至全部节点升级完成,升级期间集群仍可对外提供服务;
- 功能版本(第三位)升级不支持滚动升级,但从同一大版本内不同功能版本升级后可以回退;大版本(第二位)升级不支持滚动升级且不可回退。
因此,从 3.3.7.0(或更早的 3.3.6.x)升级到 3.3.7.5,属于同 Feature 系列的维护升级,可以按滚动升级流程执行,风险可控。
新特性(Features)
1. taosX 支持导入 ORC 格式
taosX(零代码数据接入平台)在本版本新增了对ORC(Optimized Row Columnar)文件格式的导入支持,进一步丰富了 taosX 支持的数据源类型。taosX 是 TDengine 官方提供的无代码数据接入工具,其安装、迁移与数据源配置说明可参考 taosX 安装 与 数据迁移 文档。ORC 常用于 Hadoop 生态的大数据存储,这一能力的补齐意味着 Hive/Spark 等系统导出的 ORC 文件可以直接导入 TDengine,无需先转换为 CSV 等中间格式。
2. C WebSocket 连接级时区支持
C 语言的 WebSocket 连接(对应c-ws系列客户端,示例代码见 c-ws-new 示例)在本次版本中支持在连接级别设置时区。这意味着同一进程内不同的 WebSocket 连接可以携带各自的时区配置,方便跨时区的多源数据写入与查询场景。
3. 流计算:包含虚拟表查询的流创建时错误路由数据库(TD-37437)
创建包含虚拟表(virtual table)查询的流时,如果数据库定位不正确,可能导致流计算被路由到错误的数据库。该问题以缺陷形式(TD-37437)提交,本次作为特性修复。虚拟表相关流计算选项可参考 流处理语法 与 流处理最佳实践。
4. ODBC 支持 ADO 接口
ODBC 驱动在本版本支持ADO(ActiveX Data Objects)接口。ADO 是 Windows 平台上常用的数据访问接口,支持 ADO 意味着 Windows 上的遗留应用(如 VB、脚本、老式 .NET 程序)可以更平滑地通过 ODBC 驱动访问 TDengine,降低存量系统迁移成本。
5. taosAdapter 支持将 SQL 记录到 CSV
taosAdapter(TDengine 的 RESTful 接入组件)新增了将执行的SQL 记录为 CSV 文件的能力,便于审计、回放与问题排查。
增强项(Enhancements)
1. taosExplorer:环境变量跳过注册流程
从 3.3.7.1 起,可通过环境变量EXPLORER_SKIP_REGISTER=true跳过注册流程,直接使用账号登录(见 taosExplorer 文档)。本版本继续保留并完善该能力,在私有化/内网部署场景下,无需走在线注册即可使用 Explorer。启动示例:
EXPLORER_SKIP_REGISTER=true taos-explorer2. taosX 二进制体积缩减约 60M(压缩后约 15M)
taosX 的安装包/二进制体积被大幅缩减,未压缩体积减少约 60MB,压缩后减少约 15MB,可显著降低边缘侧与受限网络环境下的分发与部署成本。
3. taosExplorer 用户名去除首尾空格
taosExplorer 在登录与用户管理时会对用户名做 trim 处理,避免因误输入前后空格导致的认证失败。
4. C WebSocket 支持自动重连配置项
C WebSocket 客户端新增自动重连(auto reconnect)相关配置选项,可在连接异常断开后自动恢复会话,减少 IoT 场景下因网络抖动造成的写入中断,相关示例参考 c-ws-new 示例。
5. Windows 平台支持 DDD 格式时间格式化
在 Windows 平台上,时间格式化支持使用DDD(表示一年中的第几天)格式串,补齐了跨平台时间格式化的能力。
6. taosExplorer OSS 版仪表盘禁用告警
taosExplorer 的开源(OSS)版本中,Dashboard 的告警(alert)功能被禁用,避免未授权功能在开源版本中暴露。
7. S3 上传支持 verifyPeer 参数跳过证书校验
taosX 在S3 数据上传时新增verifyPeer参数,允许用户跳过对服务器证书的校验。这与 TDengine 共享存储(shared storage)中 S3 配置的参数语义一致:根据 多副本与共享存储配置,S3 兼容对象存储的ssAccessString支持以下与安全/传输相关的选项:
| 参数 | 说明 |
|---|---|
| endpoint | 对象存储服务器的主机名/IP 及可选端口 |
| bucket | 存储桶名称 |
| protocol | https或http,默认https |
| uriStyle | virtualHost或path,默认virtualHost |
| region | 对象存储服务区域(可选) |
| accessKeyId / secretAccessKey | 访问密钥对 |
| chunkSize | 分块大小(MB),超过该大小的文件使用分片上传,默认 64 |
| maxChunks | 分片上传允许的最大分片数,默认 10000 |
| maxRetry | 可重试错误的最大重试次数,默认 3,负值表示无限重试 |
| verifyPeer | 是否校验对端(服务器)证书,仅当protocol为https时生效,默认 false |
配置示例:
ssAccessString s3:endpoint=s3.amazonaws.com;bucket=mybucket;uriStyle=path;protocol=https;accessKeyId=AKMYACCESSKEY;secretAccessKey=MYSECRETACCESSKEY;region=us-east-2;chunkSize=64;maxChunks=10000;maxRetry=3;verifyPeer=false在 taosX 的 S3 上传场景中,若使用自签名证书或私有 CA 的内部对象存储,可设置verifyPeer跳过证书校验以完成上传。
8. S3 数据迁移状态控制机制增强
针对 S3 数据迁移,增强了状态控制机制,提升迁移的精度与效率,减少因状态漂移导致的重复迁移或漏迁移。
9. taosExplorer 可配置 OPC UA 请求超时
taosExplorer 在 OPC UA 数据接入场景下,请求超时时间现在可配置,便于适配网络状况较差的工业现场。OPC UA 接入相关说明见 OPC UA 无代码接入。
10. SHOW CREATE TABLE 不再输出压缩信息
SHOW CREATE TABLE的输出中不再包含压缩(compression)信息,使建表语句展示更简洁,同时也避免通过该命令误解读表级压缩配置。
11. 共享存储支持 NAS
TDengine 的共享存储(shared storage)现在支持 NAS。此前共享存储主要面向 S3 兼容对象存储与本地挂载文件系统(fs类型,通过baseDir指定目录,例如ssAccessString fs:baseDir=/var/taos/ss)。NAS 支持意味着基于 NFS/CIFS 等协议挂载的存储设备也可以作为共享存储使用,降低中小规模部署的存储成本。
12. taosBenchmark 通过 WebSocket 支持重试
压测工具taosBenchmark在通过 WebSocket 协议连接时支持重试机制,提升压测在弱网环境下的稳定性。taosBenchmark 相关说明见 taosBenchmark 目录。
13. 提升 Kafka 数据接入性能
taosX 的Kafka 数据接入性能得到提升,Kafka 接入配置详见 Kafka 无代码接入。
14. 修复 taosX 未启动时 UI 报 undefined 错误
当 taosX 服务未启动时,taosExplorer 界面不再出现undefined错误提示,交互更友好。
缺陷修复(Fixes)
数据接入(taosX / taosExplorer / taosAdapter)
- 加速 InfluxDB 1.x 查询并修复 OOM:taosX 的 InfluxDB 数据源在查询 1.x 版本数据时显著提速,同时修复了可能导致内存溢出(OOM)的问题;
- 非默认密码下创建数据复制报错修复:taosExplorer 中,当使用非默认密码时创建数据复制任务不再报错;
- 不存在的文件导致恢复(restore)失败:修复恢复过程中因文件不存在而反复报 "failed to open file" 且无法停止的问题;
- varbinary 数据库映射修复:taosExplorer 的 transform(数据变换)环节中 varbinary 数据库类型映射错误被修复;
- Oracle 十进制转换 panic 修复:从 Oracle 迁移 decimal 类型数据时不再触发 panic;
- MQTT 采样频率过低导致超时:修复 MQTT 获取样本数据在频率过低时的超时问题,见 MQTT 无代码接入;
- taosdump 按时间范围导出在 us/ns 精度下报错:修复 taosdump 在微秒/纳秒精度下按时间范围导出数据时出错的问题,taosdump 源码见 tools/taosdump;
- CSV 导入含 value 字段报错:taosExplorer 导入包含
value字段的 CSV 时不再报错; - 多标签字段值相同时级联标签表列表异常:修复 taosExplorer 中多标签字段取值相同时级联(cascading)标签表列表展示错误;
- 单字段不同类型导致 taosX 出现空值:修复 taosX 在单个字段出现不同类型数据时得到意外 null 值的问题。
流计算与查询
- 长查询内存回收竞态崩溃修复:修复长时间运行的查询在内存回收过程中因竞态条件(race condition)导致的崩溃;
- 批量创建流任务时偶发 "stream task lost":修复批量创建流任务时偶发丢失流任务的报错;
- 删除流时 Explorer 报 "Database not specified":修复在 taosExplorer 中删除流时报数据库未指定的错误;
- CALC_NOTIFY_ONLY 选项崩溃修复:修复在流计算中使用
CALC_NOTIFY_ONLY选项时的崩溃问题。
CALC_NOTIFY_ONLY是流计算的重要选项之一,含义为仅将计算结果作为通知发送、不写入输出表。根据 流处理语法,当未指定该选项时,计算结果会写入输出表;适用于"只需要结果通知、无需持久化结果"的场景(见 流处理最佳实践),常与PRE_FILTER等选项组合使用,例如:
CREATE STREAM ... STREAM_OPTIONS(CALC_NOTIFY_ONLY | PRE_FILTER(col1 > 0));该选项在 SQL 关键字附录 中亦有登记,属于保留关键字。
触发器与运维
- 触发器表标签为 null 导致崩溃:修复触发器(trigger)表中标签字段为 null 时导致的崩溃;
- taoskeeper 审计日志字段过长报错:修复 taoskeeper 审计日志中
client_address字段值过长导致 "value too long for column/tag" 的错误(见 taoskeeper 源码); - nginx 服务重启导致 Explorer 报错:修复 nginx 重启引发的 taosExplorer 异常。
升级与验证建议
- 版本匹配:3.3.7.5 为维护版本,支持滚动升级;升级时请同步升级客户端驱动(libtaos.so)与服务器端;
- 重点回归场景:结合本版本修复列表,建议重点回归以下场景——长查询稳定性、批量创建流任务、CALC_NOTIFY_ONLY 流计算、taosdump 高精度导出、S3 上传与迁移;
- 配置项核对:若使用共享存储,请核对
ssAccessString中的verifyPeer(https 下生效,默认 false)等参数;若使用 taosExplorer,可设置EXPLORER_SKIP_REGISTER=true跳过注册流程。
完整的变更清单以 3.3.7.5 Release Notes 为准,历史版本可查阅 版本历史索引。
【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考