TimescaleDB 2.24.0 发布,基于 PostgreSQL 的时序数据库
TimescaleDB 是一个开源数据库,旨在使 SQL 可扩展到时间序列数据,基于 PostgreSQL 构建的,并打包为 PostgreSQL 扩展程序,提供跨时间和空间的自动分区,以及完整的 SQL 支持。
TimescaleDB 2.24.0 现已发布,此版本较 2.23.1 版本进行了性能改进和错误修复。官方建议尽快升级。
主要功能
- Direct Compress 功能变得更加智能和快速:它现在可以与生成连续聚合的超表无缝协作。失效范围直接基于已摄取的批次在内存中计算,并在事务提交时高效写入。此更改通过消除失效日志的写入放大,大幅降低了 I/O 占用。
- 连续聚合现在支持 UUIDv7:通过增强
time_bucket功能,完全支持按 UUIDv7 分区的超表,该功能接受 UUIDv7 值并返回精确的、时区感知的时间戳——从而在现代 UUID 驱动的表架构上解锁强大的时间序列分析。 - Lightning-fast recompression:
convert_to_columnstoreAPI 上的新选项recompress := true支持纯内存重新压缩,与之前的基于磁盘的处理方式相比,速度提高了 4-5 倍。
ARM 对布隆过滤器的支持:
升级到 2.24 版本后,稀疏布隆过滤器索引将停止工作。如果你遇到此问题,升级期间 Postgres 日志中将出现警告“bloom filter sparse indexes require action to re-enable”。
在 2.24 之前的版本中,布隆过滤器稀疏索引的哈希方案依赖于 TimescaleDB 可执行文件的构建选项。这些选项由软件包发布者设置,并且可能因软件包来源甚至版本而异。升级到具有不同选项的版本后,使用布隆过滤器查找的查询可能会错误地停止返回实际上应该符合查询条件的行。2.24 版本通过为每个哈希方案使用不同的列名修复了此问题。
升级到 2.24 之前创建的压缩块的布隆过滤器稀疏索引将被禁用。要重新启用它们,必须先解压缩,然后再压缩受影响的块。
如果你在 AMD64 架构上运行的是官方 APT 软件包,则哈希方案没有改变,可以安全地使用现有的布隆过滤器稀疏索引。要启用此功能,需要在服务器配置中设置 GUCtimescaledb.read_legacy_bloom1_v1 = on。
升级到 2.24 后压缩的数据块将使用新的索引格式,布隆过滤器稀疏索引将继续照常为这些数据块工作,无需任何干预。
更多详情可参阅拉取请求#8761。
详情可查看更新说明:https://github.com/timescale/timescaledb/releases/tag/2.24.0