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, -- 字符串,用于获取历史协变量的 SQL
- FUTURE_COVS, -- 字符串,用于获取未来协变量的 SQL
- OUTPUT_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
- -- 使用表 tab_real 中 cov1,cov2,cov3,target1,target2 的前 6 行历史数据,预测目标变量 target1 和 target2 未来的 2 行数据
- SELECT * FROM FORECAST (
- MODEL_ID => 'chronos2',
- TARGETS => (
- SELECT TIME, target1, target2
- FROM etth.tab_real
- WHERE TIME < 7
- ORDER BY TIME DESC
- LIMIT 6) ORDER BY TIME,
- HISTORY_COVS => '
- SELECT TIME, cov1, cov2, cov3
- FROM etth.tab_real
- WHERE TIME < 7
- ORDER BY TIME DESC
- LIMIT 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
- -- 使用表 tab_real 中 cov1,cov2,cov3,target1,target2 的前 6 行历史数据,以及同表中已知协变量 cov3 在未来的 2 行数据,来预测目标变量 target1 和 target2 未来的 2 行数据
- SELECT * FROM FORECAST (
- MODEL_ID => 'chronos2',
- TARGETS => (
- SELECT TIME, target1, target2
- FROM etth.tab_real
- WHERE TIME < 7
- ORDER BY TIME DESC
- LIMIT 6) ORDER BY TIME,
- HISTORY_COVS => '
- SELECT TIME, cov1, cov2, cov3
- FROM etth.tab_real
- WHERE TIME < 7
- ORDER BY TIME DESC
- LIMIT 6',
- FUTURE_COVS => '
- SELECT TIME, cov1
- FROM etth.tab_real
- WHERE TIME >= 7
- LIMIT 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
复制代码 免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金. |