TDengine 3.1.0.0 五大板块优化更新,性能再提升!

news/2025/3/14 17:55:45/

自 3.0 版本发布以来,在研发人员和社区用户的不断努力下,时序数据库(Time Series Database)TDengine 做了大量更新,产品性能、稳定性和易用性都在不断提升。

近期,TDengine 3.1.0.0 终于成功发布,下面我们向大家介绍一下这一版涉及到的重大更新。

查询性能优化(开源版+企业版)

主要优化点在于三种场景:

  • 对于超级表的“ order by +主键时间戳” 查询
  • order by 非主键列 + limit 查询
  • partition by tbname + slimit 查询

0 级存储负载均衡(企业版)

由于此前的版本中 WAL 只能存在于主挂载点,因此对于单个节点来说,增加磁盘不能够增强写入性能。优化之后,WAL 可以均匀分布于全部 Level 0 磁盘上,从而可以通过增加 Level 0 次盘数量,增加 dnode 节点整体写入吞吐能力。

磁盘损坏时的容错 (开源版+企业版)

在此前版本的三副本情况下,当 leader vnode/mnode 发生磁盘故障时,读写会持续报错,这时需要人为干涉通过退出故障节点触发新的选举,完成 failover 切换。

经过优化之后,3.1.0.0 版本会在识别到相关报错之后,自动完成 leader 节点切换的 failover 操作。

存储引擎优化(开源版+企业版)

  • 对多表低频场景写入性能的大幅优化(企业版)
  • compact、retention 功能不再阻塞写入(企业版)
  • 对乱序数据、重复时间戳数据落盘的合并优化(开源版)

新的数据类型 Geometry 加入(开源版+企业版)

TDengine 提供全新的数据类型 Geometry 用于点线面等几何类型的存储,并且会逐步提供一套符合 OGC(Open Geospatial Consortium) 标准的 SQL 函数,包括几何输入输出、空间关系、几何测量、集合操作和几何处理等等。

当前 geometry 的使用方式和支持范围可以参考官方文档。

写在最后

最后,在升级 3.1.0.0 之前,需要注意如下几点:

  1. TDengine 仍然不支持版本回退,因此如果需要保留回退的可能性,升级前一定做好数据文件目录的备份,即 dataDir 参数所指目录,默认为 /var/lib/taos。
  2. 流计算的内部存储结构进行了一定的重构和优化,与之前的版本不兼容,所以系统中如果有流计算请按以下步骤进行:
  • 通过查询 information_schema.ins_streams 表获取系统中已经存在的流的建流 SQL 语句并保存
  • 删除所有流
  • 升级,确认系统正常运行
  • 重新建流

如果你想要了解新版本更加详细的信息,可以移步至 https://github.com/taosdata/TDengine/releases 查看发布说明。欢迎大家下载使用,也欢迎在评论区提出建议和意见,如有任何问题请及时联系我们,获得支持。


http://www.ppmy.cn/news/1038638.html

相关文章

keepalived 高可用集群简单搭建

1.keepalived概念 keepalived是一款高可用集群软件,keepalived功能:心跳检测和故障切换。 心跳检测:master主机会向从节点广播心跳信息,当从节点收不到master节点的心跳信息时,会进行vip的漂移。 故障切换:…

小程序-基于vant的Picker组件实现省市区选择

一、原因 因vant/area-data部分的市/区数据跟后台使用的高德/腾讯省市区有所出入,故须保持跟后台用同一份数据,所以考虑以下几个组件 1、Area 2、Cascader 3、Picker 因为使用的是高德地图的省市区json文件,用area的话修改结构代价太大&…

【Python机器学习】实验12 基于神经网络的回归-分类实验

文章目录 神经网络的回归例1 基于神经网络的回归(简单例子)1.1 导入包1.2 构造数据集(随机构造的)1.3 构造训练集和测试集1.4 构建神经网络模型1.5 采用训练数据来训练神经网络模型 实验1 基于神经网络的分类(鸢尾花数据集)1.1 导入包1.2 构造数据集1.3 …

Golang协程,通道详解

进程、线程以及并行、并发 关于进程和线程 进程(Process)就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位,进程是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,每一…

Layui列表复选框根据条件禁用

// 禁用客服回访id有值的复选框res.data.forEach(function (item, i) {if (item.feedbackEmpId) {let index res.data[i][LAY_TABLE_INDEX];$(".layui-table tr[data-index"index"] input[typecheckbox]").prop(disabled,true);$(".layui-table tr[d…

avue表单验证;avue自定义表单验证;avue-curd在配置项中进行验证

avue自定义表单验证 data() {var validateSpeed (rule, value, callback) > {if (value ) {callback(new Error(请输入默认速度));} else if (value < 0 || value > 0.5) {callback(new Error(请输入0-0.5之间的数字));} else {callback();}};var validateDistance …

GD32F207 位带操作 GPIO

下面的程序用在GD32F207上测试成功&#xff0c; 如果要在新的单片机上进行位带操作需要查看新的单片机的寄存器偏移量。 #define BITBAND(addr, bitnum) ((addr & 0xF0000000)0x2000000((addr &0xFFFFF)<<5)(bitnum<<2)) #define MEM_ADDR(addr) *((vol…

mysqldump工具使用

mysqldump -h${host} -u${username} -p${password} -P${port} -f --single-transaction ${dbname} > ${dbname}.sql