当前位置: 首页 > news >正文

时序数据库 TimechoDB V2.0.8 发布 | 新增 Object 数据类型、协变量预测等功能

TimechoDB V2.0.8 版本正式发布!

TimechoDB 是由 IoTDB 原厂团队开发的企业级时序数据库产品。V2.0.8 版本表模型新增 Object 数据类型,强化升级审计日志功能,优化树模型 OPC UA 协议,AINode 支持协变量预测与并发推理等功能,同时对数据库监控、性能、稳定性进行了全方位提升。

更多关于 V2.0.8 版本信息,欢迎联系我们获得企业版安装包。针对本版本主要核心功能,年后将有更详细的技术解析与直播讲解,敬请关注!

主要发布内容

  • 查询模块:新增 DataNode 可用节点的列表展示,可查看节点的 RPC 地址和端口

  • 查询模块:表模型新增统计查询耗时的系统表

  • 存储模块:支持通过 SQL 查看创建表/视图的完整定义语句

  • 存储模块:优化树模型 OPC UA 协议

  • 系统模块:表模型新增 Object 数据类型

  • 系统模块:强化升级审计日志功能

  • 系统模块:表模型新增 DataNode 节点连接情况的系统表

  • AINode:内置 chronos-2 模型,支持协变量预测功能

  • AINode:Timer-XL、Sundial 内置模型支持并发推理功能

  • 流处理模块:创建全量同步 pipe 会自动拆分为实时、历史两个独立 pipe,可通过 show pipes 语句分别查看剩余事件数

  • 其他:修复安全漏洞 CVE-2025-12183、CVE-2025-66566、CVE-2025-11226

...

本版本详细发布内容请查看天谋科技官网-发布历史页面:

https://timecho.com/docs/zh/UserGuide/latest/IoTDB-Introduction/Release-history_timecho.html

功能详解:AINode 协变量预测功能

功能介绍

  • 单变量预测:支持对单一目标变量进行预测。

  • 协变量预测:可同时对多个目标变量进行联合预测,并支持在预测中引入协变量,以提升预测的准确性。

语法:

SELECT * FROM FORECAST(MODEL_ID,TARGETS, -- 获取目标变量的 SQL[HISTORY_COVS, -- 字符串,用于获取历史协变量的 SQLFUTURE_COVS, -- 字符串,用于获取未来协变量的 SQLOUTPUT_START_TIME,OUTPUT_LENGTH, OUTPUT_INTERVAL,TIMECOL, PRESERVE_INPUT,MODEL_OPTIONS]?
)

语法说明:

  • model_id:必填,String 类型,预测所用模型的唯一标识。

  • targets:必填,通过 SQL 输入待预测目标变量的输入数据。

  • history_covs:通过 SQL 输入预测任务协变量的历史数据,用于辅助目标变量的预测。

  • future_covs:通过 SQL 输入预测任务协变量的未来数据,用于辅助目标变量的预测。

  • output_start_time:时间戳类型,输出的预测点的起始时间戳(起报时间)。

  • output_length:INT32 类型,输出窗口大小。

  • output_interval:时间间隔类型,输出的预测点之间的时间间隔。

  • timecol:String 类型,预测依据的时间列名。

  • preserve_input:Boolean 类型,输出结果集中是否保留目标变量输入的所有原始行。

  • model_options:String 类型,模型相关的 key-value 对。

使用举例

示例数据

创建数据库与源表,插入测试数据:

-- 1. 创建数据库
CREATE DATABASE testdb;
USE testdb;-- 2. 创建源表
create table tab_real (target1 DOUBLE FIELD, target2 DOUBLE FIELD, cov1 DOUBLE FIELD, cov2 DOUBLE FIELD, cov3 DOUBLE FIELD
);-- 3. 插入测试数据
INSERT INTO tab_real (time, target1, target2, cov1, cov2, cov3) VALUES
(1, 1.0, 1.0, 1.0, 1.0, 1.0),
(2, 2.0, 2.0, 2.0, 2.0, 2.0),
(3, 3.0, 3.0, 3.0, 3.0, 3.0),
(4, 4.0, 4.0, 4.0, 4.0, 4.0),
(5, 5.0, 5.0, 5.0, 5.0, 5.0),
(6, 6.0, 6.0, 6.0, 6.0, 6.0),
(7, NULL, NULL, 7.0, NULL, NULL),
(8, NULL, NULL, 8.0, NULL, NULL);

示例 1:使用历史协变量 cov1,cov2 和 cov3 辅助预测目标变量 target1 和 target2

e70982b47d51e74c1606ca84f180f4d7

-- 使用表 tab_real 中 cov1,cov2,cov3,target1,target2 的前 6 行历史数据,预测目标变量 target1 和 target2 未来的 2 行数据
SELECT * FROM FORECAST (MODEL_ID => 'chronos2',TARGETS => (SELECT TIME, target1, target2FROM etth.tab_realWHERE TIME < 7ORDER BY TIME DESCLIMIT 6) ORDER BY TIME,HISTORY_COVS => 'SELECT TIME, cov1, cov2, cov3FROM etth.tab_realWHERE TIME < 7ORDER BY TIME DESCLIMIT 6',OUTPUT_LENGTH => 2
)

执行结果:

+-----------------------------+-----------------+-----------------+
|                         time|          target1|          target2|
+-----------------------------+-----------------+-----------------+
|1970-01-01T08:00:00.007+08:00|7.338330268859863|7.338330268859863|
|1970-01-01T08:00:00.008+08:00| 8.02529525756836| 8.02529525756836|
+-----------------------------+-----------------+-----------------+
Total line number = 2
It costs 0.315s

示例 2:使用相同表中的已知协变量 cov1 和历史协变量 cov2,cov3 辅助预测目标变量 target1 和 target2

e7eecdaa4895d9c5fea460f7d03dddf7

-- 使用表 tab_real 中 cov1,cov2,cov3,target1,target2 的前 6 行历史数据,以及同表中已知协变量 cov3 在未来的 2 行数据,来预测目标变量 target1 和 target2 未来的 2 行数据
SELECT * FROM FORECAST (MODEL_ID => 'chronos2',TARGETS => (SELECT TIME, target1, target2FROM etth.tab_realWHERE TIME < 7ORDER BY TIME DESCLIMIT 6) ORDER BY TIME,HISTORY_COVS => 'SELECT TIME, cov1, cov2, cov3FROM etth.tab_realWHERE TIME < 7ORDER BY TIME DESCLIMIT 6',FUTURE_COVS => 'SELECT TIME, cov1FROM etth.tab_realWHERE TIME >= 7LIMIT 2',OUTPUT_LENGTH => 2
)

执行结果:

+-----------------------------+-----------------+-----------------+
|                         time|          target1|          target2|
+-----------------------------+-----------------+-----------------+
|1970-01-01T08:00:00.007+08:00|7.244050025939941|7.244050025939941|
|1970-01-01T08:00:00.008+08:00|7.907227516174316|7.907227516174316|
+-----------------------------+-----------------+-----------------+
Total line number = 2
It costs 0.291s

功能详解:表模型新增 Object 数据类型

功能介绍

Object 是新增的二进制数据类型,主要用于存储文档、音频、视频等较大的二进制文件,可实现非结构化文件与 IoTDB 时序数据的统一管理。

该类型与 BLOB 类型的区别为:查询 Object 列时,返回结果展示:(Object) XX.XX KB,真实 Object 数据存储路径为:${data_dir}/object_data,可通过 READ_OBJECT 函数读取其真实内容;而 BLOB 列查询时会直接返回完整的二进制原始内容。

注意:Object 类型本版本暂不支持树模型,表模型的数据同步、导入导出、数据写回等功能将在后续版本中适配。

基础功能

数据写入

语法:

insert into tableName(time, columnName) values(timeValue, to_object(isEOF, offset, content));

参数说明:

  • isEOF:Boolean 类型,本次写入内容是否为 Object 的最后一部分

  • offset:INT64 类型,本次写入的内容在 Object 中的起始偏移量

  • content:十六进制(hex)格式,本次写入的 Object 内容

使用举例:

示例:向表 table1 中增加 Object 类型字段 s1,并写入总大小为 5 字节的 Object

ALTER TABLE table1 ADD COLUMN IF NOT EXISTS s1 OBJECT FIELD COMMENT 'object类型'

  • 不分段写入:

insert into table1(time, device_id, s1) values(now(), 'tag1', to_object(true, 0, X'696F746462'));

  • 分段写入:
--分段写入 Object 数据
--第一次写入:to_object(false, 0, X'696F')
insert into table1(time, device_id, s1) values(1, 'tag1', to_object(false, 0, X'696F'));
--第二次写入:to_object(false, 2, X'7464')
insert into table1(time, device_id, s1) values(1, 'tag1', to_object(false, 2, X'7464'));
--第三次写入:to_object(true, 4, X'62')
insert into table1(time, device_id, s1) values(1, 'tag1', to_object(true, 4, X'62'));

数据查询

注意:

  • Object 类型不支持使用 GROUP BY、ORDER BY、OFFSET、LIMIT 子句。

  • Object 类型使用 FILL 子句只支持 PREVIOUS 的填充方式。

使用举例:

示例一:直接查询 Object 类型数据

select s1 from table1 where device_id = 'tag1'
执行结果:

+------------+
|          s1|
+------------+
|(Object) 5 B|
+------------+
Total line number = 1
It costs 0.428s

示例二:通过 read_object 函数查询 Object 类型数据的真实内容

select read_object(s1) from table1 where device_id = 'tag1'
执行结果:

+------------+
|       _col0|
+------------+
|0x696f746462|
+------------+
Total line number = 1
It costs 0.188s
http://www.jsqmd.com/news/378920/

相关文章:

  • 搭建k3s,一个轻量级的 Kubernetes 发行版
  • 2026年质量好的高压电缆/低压电缆源头厂家推荐帮我推荐几家 - 行业平台推荐
  • 2026年比较好的5寸脚轮/8寸脚轮生产商推荐怎么选(可靠) - 行业平台推荐
  • 2026国内最新MS胶品牌top5推荐!服务深度覆盖江苏、山东、济南、云南等地,优质MS胶企业权威榜单发布,合规环保助力多场景粘接需求 - 品牌推荐2026
  • 大模型架构演进:从Transformer到MoE
  • Java 大视界 -- Java+Spark 构建离线数据仓库:分层设计与 ETL 研发实战(445)
  • 2026年2月成都装修公司口碑十大推荐榜单,权威评测助您避坑 - 推荐官
  • 2026别错过!千笔,顶流之选的降AIGC网站
  • # 从0开始学习markdown!
  • 深入解析:【Docker入门】容器技术
  • 营区重大活动安保态势三维可视化与指挥调度联动场景——三维空间孪生 × 全域无感定位 × 人车态势融合 × 军用级指挥联动平台
  • 2026水性香薰精油测评:这家ODM公司的精油有何亮点,藤条精油/纳米香氛/藤条香氛/洗手间香薰,精油OEM产品口碑排行 - 品牌推荐师
  • 2026年评价高的全自动立体库/立体库口碑排行实力厂家口碑参考 - 行业平台推荐
  • 2026年评价高的瓶盖高速注塑机/光学透镜高速注塑机最新TOP厂家排名 - 行业平台推荐
  • 2026年质量好的护套控制电缆/软芯控制电缆怎么选真实参考销售厂家参考 - 行业平台推荐
  • AtCoder Beginner Contest竞赛题解 | ABC 422
  • NACA 4 digit / 5 digit 4位 / 5位 翼型 MATLAB生成代码
  • 2026天津A-Level国际高中哪家好?国际知名、教学质量高、提分快的学校推荐 - 品牌2025
  • Kotlin 快速入门
  • 使用秘笈:从“聊天工具”到“效率引擎”的技术实战指南【好书推荐】
  • 【AI赋能测试】需求分析、用例设计、用例编写一步搞定全流程操作笔记-【豆包】
  • 京东e卡回收正规平台,500元面额最新市场行情追踪 - 京回收小程序
  • 2026年评价高的PP餐盒注塑机/餐盒注塑机可靠供应商参考推荐几家 - 行业平台推荐
  • 2026年口碑好的QFN托盘芯片载盘/耐高温Tray芯片载盘公司实力参考哪家强(可靠) - 行业平台推荐
  • 学霸同款 9个AI论文工具测评:研究生高效写作与毕业论文必备神器
  • 2026年天津Q50录取率高的国际高中推荐,小初高一贯制、G5申请通过率与牛剑G5升学率全覆盖 - 品牌2025
  • 百考通:让毕业论文写作不再“头秃”,AI赋能学术之路
  • Kong网关从入门到精通:微服务API网关实战深度解析:原理、实战与踩坑记录
  • zabbix 7 监控 oracle 19c 方法 增加agent2监控需要的变量环境
  • 2026最新!降AI率软件 千笔·专业降AIGC智能体 VS 文途AI,继续教育专属首选