自 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 之前,需要注意如下几点:
- TDengine 仍然不支持版本回退,因此如果需要保留回退的可能性,升级前一定做好数据文件目录的备份,即 dataDir 参数所指目录,默认为 /var/lib/taos。
- 流计算的内部存储结构进行了一定的重构和优化,与之前的版本不兼容,所以系统中如果有流计算请按以下步骤进行:
- 通过查询 information_schema.ins_streams 表获取系统中已经存在的流的建流 SQL 语句并保存
- 删除所有流
- 升级,确认系统正常运行
- 重新建流
如果你想要了解新版本更加详细的信息,可以移步至 https://github.com/taosdata/TDengine/releases 查看发布说明。欢迎大家下载使用,也欢迎在评论区提出建议和意见,如有任何问题请及时联系我们,获得支持。