TimescaleDB 是一个开源数据库,旨在使 SQL 可扩展到时间序列数据,基于 PostgreSQL 构建的,并打包为 PostgreSQL 扩展程序,提供跨时间和空间的自动分区,以及完整的 SQL 支持。 TimescaleDB 2.21.0 现已发布,此版本包含自 2.20.3 版本以来的性能改进和错误修复。一些更新亮点内容如下: attach & detach 块功能允许手动从具有未压缩块的超表中添加或删除块,类似于 PostgreSQL 的分区管理。 通过引入缓存逻辑来提高对压缩块的写入吞吐量,继续改进列存储的回填,使受限表的速度提高 2.5 倍,使 INSERT 性能接近未压缩块的性能。 通过批量删除过滤条件中的非 segmentby 键,优化了 columstore 的 DELETE 操作,大大提高了性能,在某些情况下速度提高了 42 倍,同时减少了臃肿,降低了资源使用率。 放宽了连续聚合刷新中所采用的重锁,从而实现了非重叠范围的并发刷新,并且无需复杂的客户解决方法。 [tech preview] Direct Compress 是 TimescaleDB 的一项创新功能,它通过压缩内存中的数据并将其直接写入磁盘来改善大容量数据提取,从而减少 I/O 开销,消除对后台压缩作业的依赖,并显著提高插入性能。 弃用 hypercore access method 官方决定在 2.21.0 版本中弃用 hypercore access method (TAM),并将在计划于 2025 年 9 月发布的 TimescaleDB 2.22.0 中弃用。对于仍在使用 TAM 的用户,将被阻止升级到 2.22.0 及更高版本。 迁移路径 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.21.0 (责任编辑:IT) |