写点什么

TDengine 3.3.0.0 引入图形化管理工具、复合主键等 13 项关键更新

作者:TDengine
  • 2024-06-14
    北京
  • 本文字数:2226 字

    阅读完需:约 7 分钟

在涛思数据研发团队的努力下,TDengine 3.3.0.0版本终于和大家见面了。这一版本中,我们引入了多项革新功能和性能优化,力求在为用户提供极致体验的同时,不断推动技术的前沿。

 

此次更新不仅针对开源社区版本,进行了一系列功能增强和性能提升,也为企业级用户带来了多项关键功能,如双活、S3 存储支持、传统关系型数据库的数据接入等。无论是数据处理的效率,还是系统的可靠性和安全性,新版本都有显著提升,满足从小型项目到大规模企业级部署的各种需求。

 

具体更新信息展示如下:

开源的时序数据库功能更新(所有版本同步更新)

1. 时序数据 Join  

之前版本,TDengine 只实现了 Inner Join 功能,为了更好地支持客户需求,本次 Join 功能增强支持除 Cross Join 等时序数据库中基本没有需求场景的 Join 类型外的所有 Join 类型,包括传统库中的 Left Join、Right Join、Full Join、Semi Join、Anti-Semi Join 以及时序库中特色的 ASOF Join、Window Join。

 

2. 复合主键(重复时间戳) 

在某些应用场景中,单纯使用时间戳作为主键可能导致大量的记录重复。这些重复的记录在生产环境中通常是必需的,不能仅作为单一记录进行更新处理。

 

为了解决这一问题,可以在创建普通表或超级表时,利用复合主键功能。用户可以指定一个额外的列作为“Primary key”,与时间戳列一起构成复合主键。当两条记录的时间戳和 Primary key 列的值都相同时,它们被视为同一条记录;如果这些值有所不同,则视为不同的记录。


语法:

CREATE TABLE table_name (    quot_time TIMESTAMP,     busi_sequ_no BIGINT PRIMARY KEY,    entr_prc DOUBLE,    entr_qty BIGINT,    …… );
复制代码


3. Count Window (计数窗口查询)

窗口将时序数据拆分成有限大小的“存储桶”,每个桶包含若干条记录。通过划分窗口,可对这些记录进行聚合计算。计数窗口在 3.2.3.0 版本支持在流计算中使用,在 3.3.0.0 版本支持在查询中使用

语法:

window_clause: {SESSION(ts_col, tol_val)| STATE_WINDOW(col)| INTERVAL(interval_val [, interval_offset]) [SLIDING (sliding_val)] [FILL(fill_mod_and_val)]| EVENT_WINDOW START WITH start_trigger_condition END WITH end_trigger_condition| COUNT_WINDOW(count_val[, sliding_val])}
复制代码

 

4. TSMA

该功能旨在提升大数据量聚合函数查询性能。通过对固定时间窗口内的数据进行预计算,并将预计算结果存储到硬盘,查询时通过读取预计算结果以提高查询性能。

语法:

• 创建基于超级表或普通表的 TSMA

CREATE TSMA tsma_name ON [dbname].table_name FUNCTION (func_name(func_param) [, ...] ) INTERVAL(time_duration);
复制代码


• 创建基于小窗口 tsma 的大窗口 TSMA

CREATE RECURSIVE TSMA tsma_name2 ON [db_name.]tsma_name1 INTERVAL(time_duration);
复制代码


5. 存储压缩增强

存储压缩算法增强后,TDengine 的压缩比预期可再提升一倍以上。此前 TDengine 已经支持两级压缩,但压缩算法固定不可配置,改造后有以下增强

• 第一级压缩支持多种编码方法且可扩充,包括 simple8b、delta-i、delta-d、bit-packing、disabled

• 第二级压缩支持多种压缩算法且可扩充,包括 lz4、zlib、zstd、tsz、xz、disabled

• 压缩等级支持 high、medium、low 三种

 

6. Explorer 社区版

从很多开源用户希望有可视化管理界面的需求出发,本次版本更新提供 Explorer 社区版,具备功能包括用户登录、系统消息、监控面板、数据写入、数据浏览器、编程、流计算、数据订阅、工具、集群等。

 

TDengine Enterprise(企业级功能更新)

1. TDengine 双副本(+仲裁者)

部分客户期望在保证一定可靠性、可用性条件下,尽可能压缩部署成本。为此我们提出基于仲裁者的双副本方案。该方案可提供集群中“只有单个服务故障且不出现连续故障”的容错能力。

 

双副本的使用场景:

• 有降低存储成本需求的客户

• 有降低物理节点需求的客户

• 对高可用性要求稍低的客户

 

双副本的技术特点:

• 时序数据的副本数目为 2,但是集群内节点数目大于等于 3

• 当时序数据的某个副本所在物理节点宕机时,可以自动切主,不丢失数据,且可持续写入、查询

 

2. TDengine 双活

双活的使用场景:

• 部分客户因为部署环境的特殊性只能部署两台服务器,同时希望实现一定的服务高可用和数据高可靠

• 客户主要来自工业控制领域,也有些来自一些特殊的领域

• 既可以用于前面所述节点受限的环境,也可用于在两套 TDengine 集群(不限节点数目)之间的灾备场景

 

3. S3 存储

S3 是可扩展、高可用的分布式存储,存储大量的非结构化数据对象,通过对象名(键值)索引到对象。S3 上的对象不能修改,且读取对象的速度较本地磁盘慢,各厂商常根据上传数据大小、读取次数、读取大小收费。

 

TDengine 针对 S3 存储的特殊性,做了很多优化,其优点包括:

• 存储成本显著降低

• 支持冷数据写入、更新、删除,行为透明

• 查询速度下降在一倍左右,查询行为透明

 

4. 数据库加密

数据库存储文件加密,读写透明。支持国标 sm4 加密算法,加密范围包括所有数据文件。

 

5. 数据接入

本版本支持传统关系型数据库向TDengine平滑地进行迁移,包括:

• MySQL -> TDengine

• PostgreSQL -> TDengine

 

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

 

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

用户头像

TDengine

关注

高性能、分布式、支持SQL的时序数据库 2021-11-04 加入

官网:http://www.taosdata.com GitHub:https://github.com/taosdata/TDengine

评论

发布
暂无评论
TDengine 3.3.0.0 引入图形化管理工具、复合主键等 13 项关键更新_数据库_TDengine_InfoQ写作社区