TDengine TSDB 3.4.0.0 上线:虚拟表、流计算性能显著提升,安全能力全面进阶

在实际生产环境中,时序数据库面临的挑战早已不只是"能不能存数据",而是如何在复杂查询、高并发计算、多源接入和安全合规要求不断提高的情况下,依然保持稳定、高效和可控。

近日,TDengine TSDB 发布新版本 3.4.0.0,围绕查询性能、流计算能力、安全体系与数据接入生态进行了系统性增强。本次更新在虚拟表查询、状态窗口计算、流计算性能等核心场景下带来了显著优化,同时补齐了多项安全能力,并进一步扩展了数据订阅、授权服务及主流数据源接入能力。

本文将为你梳理该版本的主要更新亮点,帮助你快速了解哪些改进能在实际场景中带来更直接的性能提升、更稳定的运行体验,以及更灵活的系统集成方式。

重要更新亮点

安全功能全面提升(企业版)

通过对身份鉴别、权限控制、审计、传输与存储等关键环节的系统性安全加固,新版本整体安全能力得到显著提升,为安全可靠性测评及等保三级、四级要求提供有力支撑。

身份鉴别

新版本在身份鉴别与访问控制方面进行了增强,支持强口令策略及密码生命周期管理,引入多因素认证与 TOKEN 认证机制,并完善用户锁定与会话控制能力。同时,系统支持基于 IP 与时间段的访问限制,口令在存储与传输过程中均采用加密保护,进一步提升整体安全性。

访问控制

新版本完善了基于 RBAC 的权限管理体系,引入系统级与对象级权限划分,内置互斥的 SYSDBA、SYSSEC、SYSAUDIT 系统角色,实现权限制衡与职责分离。同时支持权限与角色的创建、删除、授予与回收,提供标准 GRANT/REVOKE 语法,并支持对象所有者权限转移。在访问控制层面,支持库、表、列等多层级权限控制。

安全审计

新版本完善了分级审计能力,按粒度分为系统级、集群级、数据库级、子表级、数据级五级审计,支持查询、删除、写入等数据操作审计。审计操作与业务访问相互隔离,强制启用加密存储并设置不少于 5 年的保留策略,相关安全属性不可修改。同时强化审计链路安全与防篡改能力,保障审计数据的完整性与可信性。

传输安全

新版本完善了传输安全与连接管控机制,采用 TLS 传输加密与 SASL 身份认证的分层架构,保障通信安全。在连接层面,支持按用户配置并发会话数、会话时长及空闲超时等参数,并增强黑白名单访问控制能力。同时引入通信失败监测与异常告警机制,可在异常场景下自动触发告警并临时锁定相关用户/IP。TLS 私钥采用加密存储并支持安全轮换,相关安全操作均可审计,在保障安全性的同时总体性能下降不超过 10%。

存储安全

新版本完善了存储安全能力,采用分级密钥体系,对配置文件、元数据及时序数据实现透明加密,密钥生成、变更、到期及恢复等过程统一由系统管理,用户方面无感知。核心密钥通过加密通信机制安全传输,并支持国密算法适配,敏感操作需管理员权限并全程留存审计。同时提供加密状态与范围的可观测能力,支持密钥到期告警配置。

加密算法

新版本增强了加密算法管理能力,新增系统表用于集中查看和管理可用加密算法,覆盖对称加密、非对称加密与散列算法等类型。系统内置国密与国标算法,适配数据加密、密钥交换与完整性校验等多种场景,并支持通过动态链接库方式扩展自定义加密算法,满足不同环境下的算法适配需求。

安全函数

新版本补充了安全相关内置函数能力,提供数据加密、脱敏、哈希及编码转换等函数,支持国密与国际算法,满足数据存储、传输及查询过程中的安全处理需求。

流计算事件窗口新增「子事件窗口」触发机制

本次版本在流计算中引入事件窗口的子窗口触发机制,支持为同一事件定义多个开始条件。不同开始条件满足时,可依次触发对应的子事件窗口,系统自动维护父事件窗口的开启与关闭关系;父窗口及各子窗口均可独立触发计算与通知。该能力特别适用于分级告警、状态升级、阈值递进等复杂场景,使事件驱动的流计算逻辑更加贴近真实业务变化过程,而无需通过多条规则或多条流任务进行拆分实现。

复制代码
  1. EVENT_WINDOW(START WITH (start_cond_1, start_cond_2 [,...]) [END WITH end_cond])

流计算的资源消耗和计算延迟显著降低

新版本在 Nevados 实际业务场景下对流计算引擎进行了针对性优化,显著降低了资源消耗并改善了计算延迟表现。优化后,CPU 平均使用率由 321.7% 降至 30.3% ,降幅约 90.6% ;内存平均占用由 8.65 GB 降至 1.49 GB ,减少约 82.8% 。同时,流计算的平均处理延迟由原来的约 1 小时缩短至 5 分钟以内 ,整体响应速度提升约 92%

虚拟表的查询性能优化

投影查询性能优化(虚拟超级表 / 子表)

新版本针对虚拟超级表及虚拟子表的投影查询场景,系统对查询路径进行了针对性优化,覆盖包含 tbnametag 条件、时间过滤以及全量扫描等多种常见查询模式。在包含 tbnametag 条件的查询场景下,查询性能提升最高可达千倍量级,显著改善了典型业务查询的响应速度;在全量扫描或单表查询场景中,性能提升相对有限,但仍体现了底层执行与数据访问优化带来的整体收益。

聚合与选择函数查询性能优化(虚拟超级表)

新版本针对虚拟超级表在聚合函数与选择函数场景下的查询性能进行了系统性优化,覆盖是否使用 partition by、函数参数是否包含 tag 等多种常见用法。优化后,虚拟超级表在上述典型查询用例中的执行时间由原来的 68--86 秒 显著缩短至 0.088--0.640 秒 ,整体性能提升约 119×--796×,大幅改善了统计分析与状态类查询的响应效率。

状态窗口查询性能优化(虚拟超级表 / 子表)

针对虚拟超级表及子表在状态窗口计算场景下的性能问题,新版本对窗口判定与计算流程进行了优化,特别用于解决稀疏数据与密集数据混合计算时的效率瓶颈。新机制下,系统可在窗口触发前先提取窗口边界信息,再按策略激活后续计算,并支持按批次或单窗口两种优化策略。在数据分布密集场景下推荐使用批处理策略,在数据分布相对均匀且窗口数量较少的场景下,可选择单窗口策略,其余情况沿用默认策略。

查询性能优化及语法增强

新增非相关标量子查询

在查询能力方面,新增对非相关标量子查询的支持,子查询可返回单行单列结果并作为常量参与主查询计算与条件判断。

状态窗口零状态支持

新增状态窗口零状态(zeroth state)能力,可在状态窗口计算完成后,将状态值等于指定零状态的窗口整体排除,不参与后续计算。该机制与通过 WHERE 条件过滤数据不同:零状态是在完整状态窗口判定之后进行过滤,而 WHERE 条件是在数据进入窗口计算之前生效,可用于更精确地区分"无效状态窗口"与"有效状态但需排除的数据"。

复制代码
  1. STATE_WINDOW(col[, extend][, zeroth_state]) [TRUE_FOR(true_for_duration)]

多类典型查询与能力边界优化

新版本针对多种高频查询场景进行了集中优化,包括 last_row + tags 查询、系统表统计子表数量以及窗口查询能力扩展。优化后,last_row + tags 查询平均耗时由 25.9 秒 降至 0.385 秒 ,性能提升约 68 倍 ;基于系统表统计子表数量的查询平均耗时由 3.824 秒 降至 0.003 秒 ,同样提升约 68 倍 。同时,窗口查询不再强制要求包含聚合函数,可仅使用窗口伪列(_wstart、tbname 等)参与查询;虚拟表支持的最大列数提升至 32767 列,且不影响写入与查询性能。

XNODE 高可用与负载均衡支持

在新版本中,taosX 正式成为 TSDB 的一个内部组件:XNOD,由 MNODE 统一管理并通过 xnoded 调度器进行调度,支持高可用与负载均衡能力。

OAuth 2.0 / OIDC 单点登录(SSO)支持

新版本新增对 OAuth 2.0 与 OIDC 的单点登录支持,兼容 OAuth 2.0 与 OIDC 1.0 标准 API,并支持基于 OIDC 的端点自动发现。同时提供可配置的自定义 OAuth 2.0 API 接入能力,并支持对 SSO 用户的基础管理功能(部分能力已实现)。

KingHistorian 数据源支持

新版本新增对 KingHistorian 数据源的支持。KingHistorian 是 Wellintech 于 2006 年推出的工业实时数据库,已在现场运行近 20 年,支持单机最高 200 万标签规模,广泛应用于大规模设备数据采集与实时计算场景。

Pulsar 数据源支持

新版本新增对 Apache Pulsar 数据源的支持。Apache Pulsar 是一款分布式发布订阅消息平台,支持灵活的消息模型与流式消费方式,可用于消息队列及流处理场景。在使用体验上,Pulsar 数据源的 UI 界面与 Kafka 保持一致,降低多数据源场景下的使用与运维成本。

taosgen 发布到 Kafka

taosgen 新增对 Apache Kafka 的数据发布能力,支持将生成的数据直接写入 Kafka 主题。Apache Kafka 是一款开源的分布式流处理平台,常用于构建实时数据管道与流式应用,该能力可用于数据生成、测试与流处理场景的联动验证。

taosAdapter 功能增强(JSON 写入与查询管控)

taosAdapter 新增对 HTTP POST JSON 写入的支持,可接收任意格式的 JSON 数据,并通过 JSONata 进行数据转换,同时支持时间字段解析;同时引入 SQL 查询请求管控能力,支持对 SQL 请求进行拦截,并按用户维度设置并发限制,提升接口访问的可控性与稳定性。

C WebSocket(WS)支持 TLS

C WebSocket 连接器新增 TLS 支持,实现通信过程的端到端加密,提升数据传输的安全性。

OpenTSDB 支持自定义列名、子表名

OpenTSDB 接入新增对自定义字段与子表命名的支持,可灵活配置时间戳字段、数值字段以及子表名,提升不同 OpenTSDB 数据模型下的接入适配能力。

其他优化

  1. TDgpt 的数据补全算法支持任意采样间隔,支持 dtw、dtw_path、tlcc 等相关性分析函数
  2. 新增 maxSQLLength 设置 SQL 语句的最大长度,最大可为 64M
  3. 虚拟表支持的最大列数提升至 32767 列
  4. STMT2 对虚拟表查询的支持
  5. Compact 命令支持 force 选项
  6. Show connections 命令新增客户端版本号字段
  7. Show vgroups 命令新增 is_ready 列
  8. 优化 event_window 按 tbname 分组查询的效率
  9. 优化子查询做主键过滤条件时的性能

除此之外,每个版本都会做很多其他的工作,比如 bug 修复、功能优化等等。如果想要了解新版本(时序数据库功能更新)更加详细的发布信息,可以移步至 https://github.com/taosdata/TDengine/releases/tag/ver-3.4.0.0 查看发布说明。

欢迎大家下载使用,也欢迎在评论区提出建议和意见,如有任何问题请及时联系我们获得支持。

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

相关推荐
gameboy03130 分钟前
从MySQL迁移到PostgreSQL的完整指南
数据库·mysql·postgresql
laozhao43240 分钟前
科大讯飞中标教育管理应用升级开发项目
大数据·人工智能
xdl25991 小时前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
回到原点的码农1 小时前
Spring Data JDBC 详解
java·数据库·spring
zb200641201 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
CSharp精选营1 小时前
SQL Server安装避坑:这8个奇葩报错你遇到过几个?
数据库·sql server·安装指南·避坑
一勺菠萝丶1 小时前
Flowable + Spring 集成踩坑:流程结束监听器查询历史任务为空 & 获取不到审批意见
java·数据库·spring
上海合宙LuatOS2 小时前
LuatOS核心库API——【 string】字符串操作
运维·服务器·物联网·junit·硬件工程·信息与通信·嵌入式实时数据库
RDCJM2 小时前
mysql表添加索引
数据库·mysql
wal13145202 小时前
OpenClaw教程(九)—— 彻底告别!OpenClaw 卸载不残留指南
前端·网络·人工智能·chrome·安全·openclaw