虚拟表、TDgpt、JDBC 异步写入…TDengine 3.3.6.0 版本 8 大升级亮点

news2025/4/17 19:10:37

近日,TDengine 3.3.6.0 版本正式发布。除了此前已亮相的时序数据分析 AI 智能体 TDgpt,本次更新还带来了多个针对性能与易用性的重要增强:虚拟表全面上线,支持更灵活的一设备一表建模;JDBC 写入机制全新升级,单线程性能最高提升 60 倍;流计算支持 CONTINUOUS_WINDOW_CLOSE 模式、事件通知机制等关键能力,为实时处理打下更稳固的基础。

本文为你整理了该版本的八大核心更新亮点,并附上社区版和企业版的详细新增功能。如果你还没来得及深入了解,不妨现在看看,哪些能力正好能解决你的当前需求👇

重要更新

1.发布时序数据分析 AI 智能体 TDgpt

TDgpt 是 TDengine 内置的时序数据分析 AI 智能体,具备时序数据预测、异常检测、补齐和分类功能。它能无缝对接各种时序数据模型、大语言模型、机器学习及传统统计算法,并支持算法动态切换,用户只需通过一条 SQL 语句即可轻松体验。此外,通过开放的 SDK,开发者能将自己开发的AI算法或模型轻松集成到 TDgpt,立即为 TDengine 全行业用户所使用。

了解 TDgpt 的更多信息请访问:https://www.taosdata.com/tdgpt

2.支持虚拟表

在 3.3.6.0 版本中,TDengine 正式支持虚拟表功能,真正实现了“一设备一张表”的设计理念。虚拟表可以在不复制数据的前提下,从多个表中选择指定列拼接成一个逻辑上的“宽表”,查询语法与普通表完全一致。通过基于时间戳的数据对齐机制,虚拟表可自动将相同时间点的数据聚合成一行,缺失部分则填充为 NULL(还可用 padding 函数插值),有效提升了查询效率和数据整合能力。

此外,虚拟表支持动态更新,随着原始表数据的变化实时同步,保证毫秒级的数据更新体验。相比传统多表 JOIN + 嵌套查询的繁琐逻辑,虚拟表不仅大大简化了查询编写,也避免了标签重复存储、标签更新原子性差等问题。同时,虚拟表支持动态添加和删除列,灵活适应业务需求的变化,是连接 IT 与 OT 世界的理想桥梁。

3.新增 Cols 函数:轻松获取关键指标对应的上下文信息

在日常报表场景中,用户常常需要按时间窗口统计某个指标的平均值、最大值、最小值,以及最大值和最小值出现的时间点。传统 SQL 难以直接支持这一需求。在 3.3.6.0 版本中,TDengine 推出全新 cols 函数,可用于获取单行聚合函数(如 maxmin)所在行的其他列值,轻松实现“最大值对应的时间点”这类查询。示例如下:

select tbname, _wstart, avg(current),
max(current), cols(max(current), ts), 
min(current), cols(min(current), ts) 
from stb partition by tbnameinterval(1d)

4.流计算优化提升

在 3.3.6.0 版本中,TDengine 对流计算进行了多项关键优化,进一步提升实时分析能力。

1)支持在流计算中使用虚拟表

用户可以直接基于“一设备一张表”的建模方式进行流式计算,简化数据处理流程。

2)支持 CONTINUOUS_WINDOW_CLOSE 触发模式

全新引入的 CONTINUOUS_WINDOW_CLOSE 模式,在窗口关闭时触发计算,并在固定周期内自动重算,避免因数据的修改或删除导致频繁重算,计算资源消耗仅为传统 WINDOW_CLOSE 模式的 10%。对资源敏感的场景尤其友好。

3)支持窗口事件通知机制

TDengine 现已支持窗口事件通知机制,可在窗口打开(WINDOW_OPEN)或关闭(WINDOW_CLOSE)时自动向外部系统发送事件,便于任务编排、系统集成和数据流转控制。

4)支持为事件窗口和状态窗口设置最小持续时长限制

用户可以为窗口定义最短存在时间,避免短时间波动引发不必要的计算,让流式处理更加稳健可靠。

5.支持 Decimal 数据类型

随着 TDengine 在更多行业场景中落地,许多用户提出对高精度小数的需求,比如经纬度定位、货币金额、能源表计等。3.3.6.0 版本正式支持 DECIMAL 数据类型,用于存储需要精确小数位的数据,避免因浮点误差导致的计算偏差。

用户在创建普通表或超级表时,可直接定义 DECIMAL 类型的字段,例如:

create table tb (ts timestamp, value decimal(10, 2))

支持写入、读取、更新和删除等完整操作,确保关键数据在各类应用中的精确表达与高可用处理。

6.客户端兼容性

长期以来,TDengine 的“胖客户端”方案在版本兼容性方面存在一定限制。为解决这一问题,从 3.3.6.0 版本起,TDengine客户端库支持通过 WebSocket 模式建立连接,实现客户端与服务端的版本完全解耦。

使用 WebSocket 模式后,客户端将兼容 3.3.6.x 及未来所有版本,服务端升级时,无需再同步更新客户端,显著降低部署和运维成本。

7.JDBC 客户端高效写入

无论是导入历史数据,还是进行压测验证,用户经常会遇到写入性能调优的难题。尽管 TDengine 官网技术文档提供了“高效写入”章节,但在实际使用中,写入瓶颈依然频繁出现。

在 3.3.6.0 版本中,TDengine JDBC 客户端全面升级写入机制,引入 异步写入 + Flush 确认机制。通过标准 JDBC 接口即可使用,无需改动业务逻辑,系统会在满足一定条件后自动批量发送数据,显著减少网络开销、提升吞吐能力。

同时,新增机制还支持连接断开重连,以此增强稳定性。实际测试显示,在默认配置下,单线程写入性能对比 3.3.5.0 提升最高超过 60 倍;写入能力可随线程数线性扩展,性能表现与用户手动编写的多线程程序相当,但极大简化了开发难度。

8.集成多款主流 BI 工具,零代码接入更高效

3.3.6.0 版本中,TDengine 在可视化分析能力方面持续拓展,全面兼容多款主流 BI 工具,帮助用户轻松构建数据报表与仪表盘,无需编写一行代码。

  • 集成 Tableau

      作为全球领先的商业智能平台,Tableau 支持多种数据源接入。用户可通过 TDengine ODBC Connector 将标签数据、原始时序数据或经时间聚合后的结果直接导入 Tableau,用于构建丰富的数据分析视图与仪表盘,流程高效、使用简单。

    • 集成 Excel 配置 ODBC 连接后,Excel 也能快速访问 TDengine 数据,用户可像日常操作 Excel 一样将时序数据接入分析流程,轻松生成各类图表报表,满足通用办公分析需求。

    • 集成 FineBI TDengine 已完成与帆软旗下的 FineBI 工具的适配。帆软作为国内领先的数据分析平台,广泛应用于金融、制造等行业,通过接入 TDengine,可实现大规模时序数据的实时可视化。

    • 集成 Perspective Perspective 是由 Prospective.co 开发的开源数据可视化库,基于 WebAssembly 与 Web Workers 技术,能在浏览器端实现高性能、交互式实时数据分析。TDengine 现已支持将数据流式接入 Perspective,为构建 Web 实时可视化应用提供强力支撑。

    想要了解更详细的操作步骤请访问:https://docs.taosdata.com/third-party/

    其他更新

    社区版
    • 支持将常量值作为连接主键

    • 支持 Greatest、Least 函数、regexp 表达式

    • Interp 函数支持插值时间范围

    • 流计算在 force_window_close 模式下支持滑动窗口

    • 支持为事件窗口和状态窗口设置最小持续时长限制

    • 密码最大长度扩展到 255 位

    • 支持删除存在活跃消费者的主题

    企业版
    • 支持通过 KEEP 参数控制超级表的时序数据保存时长

    • 支持重新整理元数据文件

    • 优化多级存储中同一层级数据文件在多个磁盘中的分布

    • 大幅提升集群之间的数据同步性能

    • 增量备份支持 S3 存储

    • 数据写入任务管理支持导入导出

    • 双活支持新增数据库自动同步

    • 数据同步异常处理机制优化

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

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

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2331401.html

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

    相关文章

    rqlite:一个基于SQLite构建的分布式数据库

    今天给大家介绍一个基于 SQLite 构建的轻量级分布式关系型数据库:rqlite。 rqlite 基于 Raft 协议,结合了 SQLite 的简洁性以及高可用分布式系统的稳健性,对开发者友好,操作极其简便,其核心设计理念是以最低的复杂度实…

    Dynamics 365 Business Central Recurring Sales Lines 经常购买销售行 来作 订阅

    #D365 BC ERP# #Navision# 前面有节文章专门介绍了BC 2024 Wave 2 支持的更好的Substription & Recurring Billing。 其实在D365 BC ERP中一直有一个比较简单的订阅模块Recrring Sales Lines。本文将介绍一下如何用Recurring Sales Lines来 实施简易的订阅Substription。具…

    探索生成式AI在游戏开发中的应用——3D角色生成式 AI 实现

    概述 自从开创性论文 Denoising Diffusion Probabilistic Models 发布以来,此类图像生成器一直在改进,生成的图像质量在多个指标上都击败了 GAN,并且与真实图像无法区分。 NeRF: Representing Scenes as Neural Radiance Fields for View S…

    K8s 老鸟的配置管理避雷手册

    Yining, China 引言 对于这种案例,你们的处理思路是怎么样的呢,是否真正的处理过,如果遇到,你们应该怎么处理。 最后有相关的学习群,有兴趣可以加入。 开始 一、血泪教训:环境变量引发的真实灾难 1.1 …

    3-Visual Studio 2022打包NET开发项目为安装包

    引言 本文将上一期博文>>>门店管理系统开发<<<开发的项目打包为Windows安装包 一&#xff0c;安装扩展 安装此扩展&#xff1a;installer Projects 二&#xff0c;创建安装程序项目 创建项目 右键解决方案-添加-新建项目 选择setup Project项目 填写项目名…

    国内外网络安全政策动态(2025年3月)

    ▶︎ 1.《关于进一步加强智能网联汽车产品准入、召回及软件在线升级管理的通知》发布 3月1日&#xff0c;工业和信息化部、市场监管总局联合发布《关于进一步加强智能网联汽车产品准入、召回及软件在线升级管理的通知》&#xff08;以下简称《通知》&#xff09;。 该通知旨在…

    已知Word内容格式固定,通过宏实现Word转Excel

    文章目录 需求描述一、宏是什么&#xff1f;二、使用步骤1.启用开发工具2.VBA基础知识3.单个Word文件转为Excel4.批量将Word文件转为Excel文件 总结 需求描述 现在有多个Word文档&#xff0c;Word文档格式固定&#xff0c;假如Word内容分为单选题和多选题&#xff0c;每个题目…

    SpringDoc【使用详解】

    SpringDoc使用详解 一、何为SpringDoc二、概念解释三、SpringDoc使用2.1简单集成2.2 配置SpringDoc2.2.1 yml方式配置2.2.2配置文档信息 2.3配置文档分组2.4使用注解2.4.1 Tag2.4.2 Operation2.4.3 Schema2.4.4 NotNull2.4.5 Parameter2.4.6 Parameters2.4.7 ApiResponses 和Ap…

    Redis持久化 | RDB AOF | 常见问题

    目录 RDB&#xff08;Redis DataBase&#xff09; 给什么内存数据做快照——&#xff08;全量&#xff09; 触发机制 RDB文件生成的时候会阻塞主线程吗&#xff1f; 关闭持久化命令 bgsave执行流程 RDB文件怎么配置&#xff1f;有哪些优缺点 优点&#xff1a; 缺点&am…

    React 列表渲染

    开发环境&#xff1a;Reacttsantd 你可能经常需要通过 JavaScript 的数组方法 来操作数组中的数据&#xff0c;从而将一个数据集渲染成多个相似的组件。在这篇文章中&#xff0c;你将学会如何在 React 中使用 filter() 筛选需要渲染的组件和使用 map() 把数组转换成组件数组。 …

    [ctfshow web入门] web25

    信息收集 要想拿到flag&#xff0c;需要突破两层if。 解题 第一个if 传入r0&#xff0c;拿到mt_rand的值&#xff0c;由于每一次访问都会重新设置种子&#xff0c;所以每一次访问都是一样的随机数。 所以我们的r mt_rand-显示的值 1799250188 r1799250188就可以突破第一…

    【数据结构】树的介绍

    目录 一、树1.1什么是树&#xff1f;1.2 树的概念与结构1.3树的相关术语1.4 树形结构实际运用场景 二、二叉树2.1 概念与结构2.2 特殊的二叉树2.2.1 满二叉树2.2.2 完全二叉树 个人主页&#xff0c;点击这里~ 数据结构专栏&#xff0c;点击这里~ 一、树 1.1什么是树&#xff1…

    Android源码之App启动

    目录 App启动概述 App启动过程 App启动过程图 源码概述 跨进程启动 进程内启动 下面以应用桌面Launcher启动App的MainActivity来举例&#xff1a; App启动概述 首先&#xff0c;MainActivity是由Launcher组件来启动的&#xff0c;而Launcher又是通过Activity管理服务Act…

    【GESP】C++二级练习 luogu-B3721 [语言月赛202303] Stone Gambling S

    GESP二级练习&#xff0c;多层循环分支练习&#xff0c;难度★✮☆☆☆。 题目题解详见&#xff1a;https://www.coderli.com/gesp-2-luogu-b3721/ 【GESP】C二级练习 luogu-B3721 [语言月赛202303] Stone Gambling S | OneCoderGESP二级练习&#xff0c;多层循环分支练习&am…

    2. Qt界面文件原理

    本节主要介绍ui文件如何与窗口关联&#xff0c;并通过隐式连接方式显示对话框 本文部分ppt、视频截图原链接&#xff1a;[萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频] 1 UI文件如何与窗口关联 1.1 mainwindow.cpp的头文件ui_mainwindow.h 根据编译原理的基本规…

    Elastic 的 OpenTelemetry 分发版(EDOT)现已正式发布:开源、可用于生产环境的 OTel

    作者&#xff1a;来自 Elastic Miguel Luna 及 Bahubali Shetti Elastic 自豪地宣布正式发布 Elastic OpenTelemetry 分发版&#xff08;Elastic Distributions of OpenTelemetry - EDOT&#xff09;&#xff0c;其中包含 Elastic 自定义版本的 OpenTelemetry Collector 以及多…

    docker部署jenkins并成功自动化部署微服务

    一、环境版本清单&#xff1a; docker 26.1.4JDK 17.0.28Mysql 8.0.27Redis 6.0.5nacos 2.5.1maven 3.8.8jenkins 2.492.2 二、服务架构&#xff1a;有gateway&#xff0c;archives&#xff0c;system这三个服务 三、部署步骤 四、安装linux 五、在linux上安装redis&#…

    【NLP 53、投机采样加速推理】

    目录 一、投机采样 二、投机采样改进&#xff1a;美杜莎模型 流程 改进 三、Deepseek的投机采样 流程 Ⅰ、输入文本预处理 Ⅱ、引导模型预测 Ⅲ、候选集筛选&#xff08;可选&#xff09; Ⅳ、主模型验证 Ⅴ、生成输出与循环 骗你的&#xff0c;其实我在意透了 —— 25.4.4 一、…

    VScode连接CentOS 7.6虚拟机

    本文内容&#xff1a;在Windows上使用VMware运行虚拟机&#xff0c;然后使用VScode连接CentOS 7.6虚拟机。 进入系统前 安装VMware 安装教程参考&#xff1a;VMware安装 下载CentOS 7.6镜像 可以使用国内镜像源&#xff0c;但是一般国内镜像源要么已经不维护CentOS 7.6这个…