TimescaleDB2.22.0更新亮点解析
时间:2025-09-04 08:18:44 130浏览 收藏
TimescaleDB 2.22.0 版本正式发布,作为构建于 PostgreSQL 之上的开源时序数据库,本次更新带来诸多性能优化与功能增强。新版本亮点包括:通过 ALTER TABLE 命令显式配置压缩超表上的稀疏索引,提升查询性能;连续聚合功能新增 timescaledb.invalidate_using 配置选项,支持从 WAL 捕获失效数据;实现对 UUIDv7 的压缩和向量化处理支持,查询性能提升约 2 倍(默认关闭,预计下个版本启用);超表支持基于 UUIDv7 列进行分区,并新增辅助函数简化 UUIDv7 的使用;SkipScan 查询优化现已支持多列索引中的非空模式,显著提升查询效率。此外,2.22.0 版本正式移除了此前标记为废弃的 hypercore 表访问方法,建议升级前进行迁移。更多详细更新内容及源码下载,请访问官方 GitHub 页面。
TimescaleDB 是一款开源的时序数据库,构建于 PostgreSQL 之上,以扩展插件的形式集成,致力于让 SQL 在处理时间序列数据时具备更强的可扩展性。它支持基于时间与空间维度的自动分区,并完整兼容 SQL 查询能力。
最新发布的 TimescaleDB 2.22.0 版本带来了自 2.21.3 以来的一系列性能优化与缺陷修复,主要更新包括:
- 现在可以通过
ALTER TABLE
命令对启用了压缩的超表(hypertable)上的稀疏索引进行显式配置,不再依赖系统内部的自动判断机制。用户可根据实际查询负载,在多个字段上创建索引以提升性能。 - [技术预览] 连续聚合功能新增
timescaledb.invalidate_using
配置选项,支持通过超表上的触发器或利用逻辑解码从 WAL 直接捕获失效数据。若未手动设置,系统将沿用超表的失效策略。 - 已实现对 UUIDv7 的压缩和向量化处理支持。压缩机制会提取 UUIDv7 中的时间戳部分,采用 delta-delta 编码方式压缩,随机部分则单独存储。同时,向量化的等值/范围过滤器支持批量解压,使相关查询性能提升约 2 倍。该功能默认关闭(通过
timescaledb.enable_uuid_compression
控制),以便于版本回退,预计在下一个次版本中默认启用。 - 超表(Hypertables)现在可基于 UUIDv7 列进行分区,并利用其内嵌的时间信息实现时间分片。此外,新增多个辅助函数以简化 UUIDv7 的使用,例如生成 UUIDv7 值或提取其中的时间戳,如
uuid_timestamp()
函数可从 UUIDv7 中解析出 PostgreSQL 时间戳格式。 - SkipScan 查询优化现已支持多列索引中的非空(not-null)模式,显著提升涉及多个键的去重(distinct)和有序查询效率。
移除 hypercore 表访问方法
此前在 2.21.0 版本中标记为废弃的 hypercore 表访问方法(TAM)本次正式移除。该功能属于实验性质,实际表现未达预期性能目标。因此,升级至 2.22.0 或更高版本前,若仍在使用 TAM,则必须先迁移。
迁移脚本如下:
do $$declare relid regclass;begin for relid in select cl.oid from pg_class cl join pg_am am on (am.oid = cl.relam) where am.amname = 'hypercore' loop raise notice 'converting % to heap', relid::regclass; execute format('alter table %s set access method heap', relid); end loop;end$$;
查看更多更新内容,请访问:https://github.com/timescale/timescaledb/releases/tag/2.22.0
源码下载地址:点击获取
今天带大家了解了的相关知识,希望对你有所帮助;关于科技周边的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
112 收藏
-
226 收藏
-
309 收藏
-
189 收藏
-
243 收藏
-
453 收藏
-
458 收藏
-
337 收藏
-
334 收藏
-
152 收藏
-
135 收藏
-
279 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 512次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 499次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习