
TDengine 3.4.0.0 版本发布说明功能特性、性能增强与关键修复全解析【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdengineTDengine 3.4.0.0 于 2026-01-03 正式发布这是 TDengine 3.x 系列的一个里程碑式版本。本篇文章基于官方 3.4.0.0 Release Notes 展开系统梳理本版本的 17 项新功能、30 项增强与 49 项修复并结合仓库源码与测试用例深入解析关键技术点帮助你快速评估升级价值、掌握新特性的正确用法。阅读本文你将掌握3.4.0.0 的核心新特性全景连接器、数据接入、流式计算、安全、函数等虚拟表、流计算、订阅、taosAdapter 等模块的增强细节与正确使用姿势关键修复项背后的原理与升级注意事项每个特性对应的源码位置便于深入验证一、版本概览发布信息项目内容版本号3.4.0.0发布日期2026-01-03版本类型3.x 系列功能版本核心主题连接器增强、安全能力升级、流式计算增强、虚拟表与查询性能优化本版本横跨客户端、服务端、工具链、流式计算、安全与企业版多个层面。社区版聚焦于连接器C WebSocket、Rust、adapter、流计算增强与查询性能企业版则引入了数据全透明加密、SASL 机制、多因素认证MFA、RBAC 权限架构、分级审计等安全能力。二、新特性Features详解2.1 连接器与数据接入增强1. taosAdapter 连接信息透传ws connectiontaosAdapter 在 WebSocket 连接中新增了 connector info 属性客户端可通过该属性感知当前连接的适配器信息便于多实例场景下的连接识别与问题定位。2. C WebSocket 支持 SSL/TLSC 语言的 WebSocket 连接现在支持 SSL/TLS 传输加密参数。对安全性要求高的场景可通过该特性为 C 客户端启用加密通道。3. taosAdapter 实例注册与查询新增 taosAdapter 实例的注册与查询能力配合第 1 项特性可实现多 adapter 实例的统一管理与感知。4. 任意 JSON 数据解析写入新增将任意 JSON 数据解析并写入数据库的能力大幅简化了 JSON 数据源的接入流程——无需预先建模即可将 JSON 中的字段映射入库。5. Rust 连接器基准测试工具仓库中新增了 Rust connector benchmark tool用于对 Rust 连接器的读写性能进行基准测试。6. taosX 高可用与 Kafka 任务负载均衡taosX 数据同步组件支持高可用部署并对 Kafka 任务实现负载均衡提升大规模同步场景的稳定性与吞吐。7. TDgpt 行相关性分析函数TDgpt时序分析扩展位于 tools/tdgpt新增dtw、dtw_path、tlcc三个行相关性分析函数。从 builtins.c 的函数注册表可以看到dtw动态时间规整Dynamic Time Warping距离dtw_pathDTW 最优路径tlcc时间滞后互相关Time-Lagged Cross-Correlation三者均注册为FUNC_MGT_TIMELINE_FUNC时间线函数禁止在超级表上直接使用且要求保持数据顺序。tlcc与dtw_path共享translateDtwPathPseudoColumn翻译函数说明它们采用相同的伪列翻译机制。8. 数据同步支持 SASL 机制与资源控制【企业版】企业版数据同步链路支持 SASL 认证机制与资源控制满足金融、运营商等对数据通道安全与配额管控的要求。9. 数据存储全透明加密【企业版】企业版支持存储层全透明加密落盘数据自动加密对上层应用完全透明。10. 多因素认证MFA与多种登录安全策略【企业版】企业版新增 MFA 认证支持并引入多种登录安全策略见增强第 22 项“用户登录失败策略”。11. RBAC 权限架构【企业版】企业版采用基于角色的访问控制RBAC架构实现细粒度的权限管理。12. 分级审计与权限控制【企业版】配合 RBAC企业版支持分级审计审计日志可覆盖查询、删除等操作见增强第 13 项。13. 新增 13 个加密与脱敏函数本版本一次性新增了 13 个函数SM4_ENCRYPT、SM4_DECRYPT、AES_ENCRYPT、AES_DECRYPT、MD5、SHA、SHA1、SHA2、MASK_FULL、MASK_PARTIAL、MASK_NONE、FROM_BASE64、TO_BASE64。以源码实现为例builtins.cfrom_base64FUNCTION_TYPE_FROM_BASE64单参数支持 VARCHAR/NCHAR/NULL输出 VARCHARsha/sha1单参数内部均由shaFunction实现sha2两个参数数据 位长由sha2Function实现mask_full两个参数原文 掩码字符输出与输入同类型由maskFullFunction实现mask_partial四个参数原文 起始位置 长度 掩码字符由maskPartialFunction实现适合手机号、身份证等部分脱敏场景mask_none单参数返回原值用于统一脱敏口径的占位aes_encrypt/aes_decrypt23 个参数数据 密钥 可选模式由aesFunction/aesDeFunction实现加密长度计算见taes_encrypt_lenbuiltins.csm4_encrypt/sm4_decrypt两个参数数据 密钥由sm4Function/sm4DeFunction实现长度计算见tsm4_encrypt_lenbuiltins.c。14. 事件窗口支持子事件窗口流计算的**事件窗口event window**新增子事件窗口支持可将大事件窗口拆分为子窗口进行触发与计算适配更细粒度的业务窗口需求。15. Explorer 支持 OAuth 2.0 与 OIDC SSOTDengine Explorer图形化管理界面新增 OAuth 2.0 与 OIDC 单点登录支持可无缝对接企业统一身份认证平台。16. taosAdapter 自定义 SQL 拒绝规则taosAdapter 支持配置自定义 SQL 拒绝规则可拦截特定模式的 SQL如高危删除操作实现 SQL 层的安全管控。17. 身份认证函数新增身份认证相关函数配合企业版认证体系使用。2.2 特性源码佐证特性源码位置加密/脱敏/Base64/SHA 函数注册source/libs/function/src/builtins.cdtw/dtw_path/tlcc 函数注册source/libs/function/src/builtins.c#L7609-L7663函数语法解析SM4 等关键字source/libs/parser/src/parTokenizer.c、source/libs/parser/inc/sql.yTDgpt 分析扩展tools/tdgpt三、增强Enhancements深度解析3.1 虚拟表Virtual Table能力增强虚拟表在 3.4.0.0 中获得多项增强最大列数提升到 32767虚拟表支持的列上限大幅提升可承载更宽的模型。非聚合查询禁止按聚合函数排序order by avg(x)这类在非聚合查询中的写法将被拒绝避免语义歧义与错误结果。状态窗口支持 zeroth_state 零状态状态窗口新增zeroth_state关键字可指定“零状态”处于该状态的窗口将跳过计算与输出。测试用例可见 parStreamTest.cpp-- 指定数值零状态该状态窗口不输出 create stream s state_window(c1) extend(0) zeroth_state(0) ... -- 指定关键字零状态 create stream s state_window(c1) extend(0) zeroth_state(no_zeroth) ...窗口查询不再强制聚合函数窗口查询window query现在允许仅包含_wstart、tbname等伪列无需强制包含聚合函数便于实现仅取窗口边界/表名的查询。虚拟表查询 HintWIN_OPTIMIZE_BATCH / WIN_OPTIMIZE_SINGLE新增两个 Hint 参数以优化虚拟表状态窗口查询性能。从 parAstCreater.c 可以看到 Hint 的解析逻辑select /* WIN_OPTIMIZE_BATCH */ ... -- 批量优化模式 select /* WIN_OPTIMIZE_SINGLE */ ... -- 单条优化模式虚拟超表聚合与选择函数查询性能提升对虚拟超表的聚合与选择类查询做了性能优化。stmt2 支持虚拟表查询预处理语句stmt2链路补齐了虚拟表查询支持并新增 bool 类型写入校验增强第 26 项。3.2 流计算Stream增强支持 interp 与 percentile 函数流计算新增插值interp与分位数percentile函数支持扩展流上可用的分析函数集。降低触发数据与计算数据读取的资源消耗优化流计算中触发数据trigger data与计算数据computation data的读取路径减少资源占用。超级表上禁止重复时间戳state_window、count_window、event_window在超级表上禁止使用重复时间戳从源头规避窗口归属歧义。事件窗口 true_for 条件触发优化事件窗口仅在true_for条件满足时才生成窗口开启通知减少无效触发。状态窗口 partition by 正确性修复修复了状态窗口与partition by组合查询结果错误的问题见修复第 39 项。3.3 运维与管理增强taosd 日志目录无写权限时优化报错taosc 初始化因日志目录无写权限失败时错误信息更明确便于快速定位。Linux tar 包支持非 root 安装Linux tar 包支持非 root 用户在自定义路径安装 TDengine TSDB。RELOAD TOPIC 命令修改标签列后执行RELOAD TOPIC即可让数据订阅生效无需重建 Topic。该命令由 mndTopic.c 中的reloadTopic函数处理并会记录审计日志reloadTopic。审计日志覆盖查询与删除审计日志新增对查询、删除等操作的记录。show connections 增加客户端版本号show connections输出新增 client version 字段便于版本对齐排查。ins_anodes_full 增加状态字段ins_anodes_full表新增 status 与 note 字段实时反馈模型与算法状态。集群间时钟校验机制新增集群间通信的时钟检查机制避免时钟偏差导致的数据一致性问题。compact 命令支持 force 选项数据压缩命令compact新增force强制选项。show vgroups 增加 is_ready 列show vgroups输出新增is_ready列反映 vgroup 就绪状态。执行计划显示标签索引EXPLAIN 执行计划支持展示标签索引信息。全局时区设置降低锁竞争设置全局时区减少并发查询与写入时时间转换的锁竞争。RPC 通信读写锁优化优化 RPC 通信中读写锁的使用逻辑。更新子表标签值不变时直接返回更新子表标签时若值未变化则立即返回避免频繁更新数据订阅的子表集合。stmt2 日志优化调整 stmt2 日志便于问题排查。3.4 taosmqtt 与 OPC 优化taosmqtt 优雅退出改进 taosmqtt 的退出处理逻辑实现更优雅的关闭与资源释放。OPC-DA 采集与自动重连优化优化 OPC-DA 数据采集与自动重连机制OPC-UA 延迟问题同步修复见修复第 27 项。3.5 增强要点速查表类别增强内容虚拟表列数上限 32767窗口查询免聚合函数WIN_OPTIMIZE 双 Hint虚拟超表查询性能流计算interp/percentile触发与计算数据读取优化事件窗口子窗口zeroth_state安全/审计审计覆盖查询删除登录失败策略集群时钟校验运维非 root 安装RELOAD TOPICcompact forceshow vgroups is_readyshow connections 版本号四、关键修复Fixes解读4.1 流计算与订阅修复WAL 版本号未更新导致重算错误流触发数据重算时未使用最新 WAL 版本号导致计算结果不正确已修复。FILL_HISTORY 历史数据计算失败流计算使用FILL_HISTORY计算历史数据失败的问题已修复。流读取数据出错导致任务等待流读取数据出错时后续计算任务阻塞等待的问题已修复。事件通知 WebSocket 发送概率性失败流通过 WebSocket 发送事件通知概率性失败的问题已修复。流结果表已存在时 schema 与标签同步修复流结果表已存在时 schema 与标签不同步的问题。流子查询 join 含 tag%%n 条件时 coredump修复流子查询中 join 包含tag%%n条件导致的 coredump。流中异常检测调用错误数据源修复流中使用异常检测时调用了错误数据源的问题。流创建语句反引号误判创建流语句解析输出表标签名时反引号被误当作列名一部分导致 Out table tag type mismatch 错误已修复。数据订阅期间修改 tdb 的并发问题修复数据订阅进行中修改 tdb 导致的并发问题。rawdata 数据订阅失败修复 rawdata 类型数据订阅失败的问题。修改标签列后订阅感知配合 RELOAD TOPIC 特性修复标签列修改后客户端无法感知的问题客户端无法感知其他客户端对表 schema 的修改。4.2 查询与 SQL 修复order by abs(col) 查询错误当结果集包含order by abs(col)而非表列时查询报错已修复。JSON 类型 TAG 的 show create table 与 distinct 结果异常修复 JSON 类型标签列下show create table与select distinct tbname, json_tag_name结果不符合预期的问题。嵌套查询子查询排序问题嵌套查询中子查询使用降序、无排序或按非时间主键排序时结果错误已修复。虚拟表相关崩溃修复虚拟超表查询报 Invalid value in client、虚拟表引用同名字段不同类型子表列时崩溃的问题。多虚拟表同源列逻辑错误修复多个虚拟表使用同一原始表列时的逻辑错误。show create table 返回过多列修复 show create table 结果列数过多的问题。JOIN 中子表时间主键为常量时无需排序修复 JOIN 语法中子表时间主键为常量时仍要求排序的问题。嵌套查询外层 cols 函数错误修复嵌套查询中外层 cols 函数错误。state_window partition by 结果错误见 3.2 节。4.3 数据写入与导入修复insert into select 写入错误 dnode修复insert into select语句数据写入错误 dnode 并触发 Vnode is closed 错误的问题。insert into stable 的 tbname 处理修复通过insert into stable语法写入时 tbname 处理逻辑错误。schemaless 写入并发修改内部表结构修复 schemaless 写入期间并发修改内部表结构导致的错误。STMT2 自动建表超长表名崩溃修复 STMT2 写入自动建表时表名过长导致的崩溃。stmt2 中 dbname/tbname 均为 ? 卡死修复 stmt2 查询中 dbname 与 tbname 均设置为?时查询进程卡死的问题。stmt2 字段类型错误C WS修复 C WebSocket 中taos_stmt2_get_fields的 field_type 错误。InfluxDB 无标签测量数据错误修复 InfluxDB 无标签测量数据no tag measurements导入报错的问题。taosgen CSV 格式错误崩溃修复 taosgen 在 CSV 格式错误时 coredump 的问题。升级后异常数据加载修复从 3.3.6.32-3.3.6.36 升级到 3.3.8.6-3.3.8.10 时异常数据加载的问题。decimal NULL 缓存刷盘崩溃修复缓存开启时 decimal 类型 NULL 值刷盘偶发崩溃的问题。4.4 数据接入taosX/OPC/历史库修复Kafka extract/split 深度错误修复 Kafka 抽取/拆分深度错误。taosX 100k 消息单行 SQL 过长修复 taosX 每行 100k 消息导致 SQL 过长的问题。taosX req_id 其他组件找不到修复 taosX req_id 在其他组件中找不到的问题。transform 意外拆分结果修复 transform 中意外拆分结果的问题。OPCUA 编辑后下载数据点失效修复 OPCUA 下载数据点编辑后不工作的问题。KingHistorian 订阅不工作修复 KingHistorian 订阅失效问题。AVEVA Historian 数据配置错误修复 AVEVA Historian 数据配置错误。PI/PI-Backfill 带句号摄入错误修复 PI/PI-Backfill 摄入时带句号period sign的错误。创建 PI 任务时 DSN 模型找不到修复创建 PI 任务时 not found model in dsn 错误。OPC-UA 延迟问题修复 opc-ua 延迟问题。4.5 其他修复Grafana 12.x 告警仪表盘导入修复 Grafana 12.x 导入告警仪表盘失败的问题。ins_vgroups cache_load 负值修复 cache_load 字段超过 int32 上限时显示为负值的问题。查询内存控制崩溃风险修复查询内存控制过程中的潜在崩溃风险。修改全局变量时事务无法结束修复修改全局变量时事务无法结束的问题。Explorer 上传监控到 taoskeeper 默认开启修复 Explorer 默认上传监控数据到 taoskeeper 的问题。Explorer 无子路径登录错误修复 Explorer 无子路径subpath部署时登录错误。node.js 窗口无时区支持修复 node.js 客户端窗口查询无时区支持的问题。流触发建表不带写入数据时崩溃修复流触发建表但未携带写入数据时的崩溃。InfluxDB 无标签测量数据错误修复 InfluxDB 无标签测量数据错误。taosAdapter stmt 查询回调未调用导致崩溃修复 taosAdapter 在 stmt 查询返回后回调函数未被调用导致的崩溃。五、升级与验证建议5.1 升级前检查清单备份数据升级前务必完整备份数据目录。版本兼容本版本为 3.4.x 系列首个版本从 3.3.x 升级前请确认兼容性修复第 43 项提到 3.3.6.32-3.3.6.36 到 3.3.8.6-3.3.8.10 的异常数据加载已修复如从这些版本升级请关注数据加载行为。SQL 兼容性注意新版本对“非聚合查询中按聚合函数排序”的禁止行为若现有 SQL 使用了该写法需调整。超级表窗口重复时间戳若在超级表上使用 state_window/count_window/event_window 且存在重复时间戳需提前清理数据。5.2 新特性验证示例加密函数验证-- SM4 加解密 SELECT SM4_ENCRYPT(hello, 0123456789abcdef); SELECT SM4_DECRYPT(SM4_ENCRYPT(hello, 0123456789abcdef), 0123456789abcdef); -- 脱敏 SELECT MASK_PARTIAL(13800138000, 3, 4, *); -- 结果: 138****8000zeroth_state 流验证-- 创建带零状态的流零状态窗口不输出 create stream s_zeroth state_window(c1) extend(0) zeroth_state(0) from db.t into out_db.out as select _twstart, avg(c1) from db.t;RELOAD TOPIC 验证-- 修改标签列后无需重建 Topic ALTER TABLE t SET TAG locationbeijing; RELOAD TOPIC topic_name;六、总结TDengine 3.4.0.0 是一个功能密度极高的版本社区版在虚拟表、流计算、连接器与查询性能上全面增强企业版补齐了存储加密、MFA、RBAC、分级审计与 SASL等企业级安全能力。对于正在使用 3.3.x 的用户本版本在稳定性49 项修复与功能17 项特性层面都值得规划升级对于新接入用户虚拟表列数上限、窗口查询灵活性、加密脱敏函数等能力将显著简化数据建模与安全合规工作。如需进一步深入可查阅 完整版本历史索引或直接在源码中定位函数注册与命令实现builtins.c、mndTopic.c进行源码级验证。【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考