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


    在涛思数据研发团队的努力下,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 列的值都相同时,它们被视为同一条记录;如果这些值有所不同,则视为不同的记录。

    语法:

    Plain Text
    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 版本支持在查询中使用

    语法:

    Plain Text
    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

    Plain Text
    CREATE TSMA tsma_name ON [dbname].table_name FUNCTION (func_name(func_param) [, ...] ) INTERVAL(time_duration);

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

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

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

  • 相关阅读:
    鸿蒙+瑞芯微直播一体机方案 8K 8核CPU软硬件方案
    在 Linux 中,可以使用分号 (;) 或者 && 运算符来执行多条命令
    Pytorch 深度学习实践 day01(背景)
    【2023,学点儿新Java-05】搭建Java开发环境:什么是JDK、JRE、JVM、Java API?|G1垃圾回收算法 |应该选择哪个版本的jdk?| 安装jdk17 |如何找到各个版本jdk
    C# 第一章『基础』◆第6节:类型转换
    LED主流光源-环形光源
    详解Git合并(Merge)错误如何回退。(包括Reset, Revert和页面回滚三种,并说明其优缺点)
    C# Winform内嵌窗体(在主窗体上显示子窗体)
    Epoxy:跨不同数据存储的 ACID 事务
    【算法与数据结构】450、LeetCode删除二叉搜索树中的节点
  • 原文地址:https://blog.csdn.net/taos_data/article/details/139673411