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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache DolphinScheduler查看版本信息

我找了半天,没有看到版本在哪里。然后我看配置,他要连接数据库,我去他存储数据库的表里面,看到了相关的版本信息。 cd /home/dolphinscheduler/dolphinscheduler/bin/env dolphinscheduler找到了里面的密码 版本是3.1.3

14.编写自动化测试(上)

标题 一、如何编写测试1.1 一些概念1.2 测试函数剖析1.3 使用assert!宏检查结果1.4 使用assert_eq!和assert_ne!宏来测试相等1&#xff09; assert_eq!2&#xff09; assert_ne! 1.5 使用 should_panic 检查 panic 二、将 Result<T, E> 用于测试 一、如何编写测试 1.1 一…

Windows defender bypass | 免杀

官方文档 在制作免杀的过程中,翻找 Windows 官方对 Windows Defender 的介绍,发现有这样一个目录:Configure Microsoft Defender Antivirus exclusions on Windows Server(在 Windows server 中配置defender排除项)。 https://docs.microsoft.com/en-us/microsoft-365/se…

N32G45XVL-STB之移植LVGL(8.4.0)

目录 概述 1 系统软硬件 1.1 软件版本信息 1.2 ST7796-LCD 1.3 MCU IO与LCD PIN对应关系 2 认识LVGL 2.1 LVGL官网 2.2 下载V8.4.0 3 移植LVGL 3.1 硬件驱动实现 3.2 添加LVGL库文件 3.3 移植和硬件相关的代码 3.3.1 驱动接口相关文件介绍 3.3.2 重新接口函数 3…

SQL索引结构优化及回表查询知识总结

1. 索引的基本概念 定义&#xff1a;索引是数据库中用于快速定位数据的有序数据结构。作用&#xff1a;加速数据检索&#xff0c;减少查询时间。 2. 索引的分类与结构 单列索引&#xff1a;基于单个列的索引&#xff0c;如&#xff1a;CREATE INDEX idx_employee_id ON empl…

ReduceTask有几种排序方式以及排序发生的阶段?

在MapReduce框架中&#xff0c;ReduceTask的排序主要包括两种方式&#xff1a;排序&#xff08;Sort&#xff09;和分组&#xff08;Grouping&#xff09;。这些排序操作发生在不同的阶段&#xff0c;以确保数据按键进行处理。 一、ReduceTask的排序方式 排序&#xff08;Sor…

Java中BIO、NIO、AIO详解

参考&#xff1a; https://blog.csdn.net/s2152637/article/details/98777686 https://blog.csdn.net/bigorsmallorlarge/article/details/137292669 1、几个基本概念 Java中IO模型简介 在Java中&#xff0c;主要有三种IO模型&#xff0c;分别是&#xff1a; 同步阻塞IO&…

视频合成渲染服务解决方案,数字人+PPT+视频云剪辑

在金融理财领域&#xff0c;一个生动、直观、专业的视频&#xff0c;往往能够在海量信息中脱颖而出&#xff0c;帮助客户更好地理解产品、把握市场动态。然而&#xff0c;传统的视频制作方式往往周期长、成本高、难以适应快速变化的市场需求。 美摄科技&#xff0c;作为行业领…

XZ后门故事:初始分析

2024年3月29日&#xff0c;Openwall OSS安全邮件列表上的一条消息“炸醒”了整个信息安全、开源和Linux社区&#xff1a;XZ出现了一个CVSS评分10.0的恶意后门。 这个后门库的特殊危险在于OpenSSH服务器进程sshd使用它。在多个基于systemd的发行版上&#xff08;包括Ubuntu、De…

从根源解决问题:构建体系化BOM管理机制与解决方案

BOM&#xff08;物料清单&#xff09;是设计与生产间的纽带&#xff0c;其准确及时对企业的竞争力至关重要。然而&#xff0c;维护BOM数据时&#xff0c;常遇到录入错误、信息孤岛及跨部门沟通障碍等难题&#xff0c;直接影响生产效率和成本。为此&#xff0c;道合顺将探讨确保…

Hi3861 OpenHarmony嵌入式应用入门--点灯

本篇实现对gpio的控制&#xff0c;通过控制输出进行gpio的点灯操作。 硬件 我们来操作IO2&#xff0c;控制绿色的灯。 软件 GPIO API API名称 说明 hi_u32 hi_gpio_deinit(hi_void); GPIO模块初始化 hi_u32 hi_io_set_pull(hi_io_name id, hi_io_pull val); 设置某个IO…

如何使用xurlfind3r查找目标域名的已知URL地址

关于xurlfind3r xurlfind3r是一款功能强大的URL地址查询工具&#xff0c;该工具本质上是一个CLI命令行工具&#xff0c;可以帮助广大研究人员从多种在线源来查询目标域名的已知URL地址。 功能介绍 1、从被动在线源获取URL地址以实现最大数量结果获取&#xff1b; 2、支持从Way…

python 地图+经纬度标记

如果你想在地图上显示标注点并在标注点旁边显示文字&#xff0c;可以使用folium.Marker的popup参数来实现。这个参数允许你设置在标注点上点击时显示的文本内容。以下是修改后的示例代码&#xff0c;演示如何在地图上显示带有文字标注的标注点&#xff1a; import folium# 创建…

leetcode打卡#day45 携带研究材料(第七期模拟笔试)、518. 零钱兑换 II、377. 组合总和 Ⅳ、爬楼梯(第八期模拟笔试)

携带研究材料&#xff08;第七期模拟笔试&#xff09; #include<iostream> #include<algorithm> #include<vector>using namespace std;int main() {int N, V;cin >> N >> V;vector<int> weights(N1);vector<int> values(V1);int w…

遗传算法浅理解

1. 什么是遗传算法&#xff1f; ​ 遗传算法&#xff0c;又称为 Genetic algorithm(GA)Genetic algorithm(GA)。其主要思想就是模拟生物的遗传与变异。它的用途非常广泛&#xff0c;可以用于加速某些求最大或者最小值的算法&#xff08;换句话说就是加速算法收敛&#xff0c;最…

实现企业可持续发展目标,ISCC能起什么作用呢?

国际可持续发展和碳认证 (ISCC) 基于气候变化已经成为全球面临的重大挑战之一、可再生能源需求不断增长的这个大背景下&#xff0c;企业的可持续发展诉求正日益显现&#xff0c;尤其当下消费者对于环境和社会责任意识的提升&#xff0c;需要更透明的供应链证明&#xff0c;同时…

移动端专业视频剪辑解决方案,深度编辑,专业级体验

面对众多繁杂的移动端视频编辑软件&#xff0c;如何挑选一款既高效又专业的解决方案&#xff0c;成为众多企业关注的焦点。美摄科技凭借其卓越的技术实力&#xff0c;推出了面向企业的移动端专业视频剪辑解决方案&#xff0c;助力企业轻松打造高质量视频内容。 一、深度编辑&a…

OAuth 2.0:现代应用程序的授权标准

前言 随着互联网和移动应用的发展&#xff0c;应用程序之间的交互变得越来越普遍。用户希望通过单一的身份认证在多个平台上无缝体验&#xff0c;这就要求不同的应用程序能够安全地共享用户数据。而 OAuth 2.0 正是为了解决这一问题而设计的&#xff0c;它提供了一种标准机制&…

6月16日-英语学习日记-(专科生)

我能够走到对岸的&#xff0c;我相信我自己&#xff0c;自己该和过去的事情做一个了断了&#xff01; 符号区别句子&#xff0c;通过感叹符号可以知道那些句子是一个感叹句。 In recent years 最近几年 commander n军官&#xff0c;长官 自己今天对了一道题目&#xff1a; …

Golang 百题(实战快速掌握语法)_1

整形转字符串类型 实验介绍 本实验将展示三种方法来实现整形类型转字符串类型。 知识点 strconvfmt Itoa 函数 代码实例 Go 语言中 strconv 包的 itoa 函数输入一个 int 类型&#xff0c;返回转换后的字符串。下面是一个例子。 package mainimport ("fmt"&qu…