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

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

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

具体更新信息展示如下:

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

1.时序数据 Join  

之前版本,TDengine 只实现了 Inner Join 功能,为了更好地支持客户需求,本次 Join 功能增强支持除 Cross Join 等时序数据库中基本没有需求场景的 Join 类型外的所有 Join 类型,包括传统库中的 Left JoinRight JoinFull JoinSemi JoinAnti-Semi Join 以及时序库中特色的 ASOF JoinWindow 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 已经支持两级压缩,但压缩算法固定不可配置,改造后有以下增强

  • 第一级压缩支持多种编码方法且可扩充, 包括 simple8bdelta-idelta-dbit-packingdisabled
  • 第二级压缩支持多种压缩算法且可扩充,包括 lz4zlibzstdtszxzdisabled
  • 压缩等级支持 highmediumlow 三种

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 查看发布说明。

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

 

posted @ 2024-06-14 10:24  涛思数据TDengine  阅读(7)  评论(1编辑  收藏  举报