Timescale Cloud:性能、扩展、企业级
自托管产品
MST
连续聚合通常用于对历史数据进行降采样。如果数据仅用于分析查询且从不修改,您可以压缩该聚合以节省存储空间。
旧 API 自 TimescaleDB v2.18.0 已替换为 将连续聚合转换为列式存储。连续聚合的压缩工作方式与超表上的压缩类似。启用压缩且未提供其他选项时,segment_by
值将自动设置为连续聚合的 group by 列,而 time_bucket
列将用作压缩配置中的 order_by
列。
您可以通过在修改视图时设置 compress
参数来启用和禁用连续聚合的压缩。
对于现有的连续聚合,在
psql
提示符下,启用压缩ALTER MATERIALIZED VIEW cagg_name set (timescaledb.compress = true);禁用压缩
ALTER MATERIALIZED VIEW cagg_name set (timescaledb.compress = false);
如果连续聚合存在关联的已压缩块,则禁用该连续聚合的压缩将失败。在这种情况下,您需要解压缩这些块,然后删除连续聚合上的任何压缩策略,之后才能禁用压缩。有关更多详细信息,请参阅解压缩块部分。
SELECT decompress_chunk(c, true) FROM show_chunks('cagg_name') c;
在设置连续聚合的压缩策略之前,您应该先设置刷新策略。应设置压缩策略的时间间隔,以确保活跃刷新的区域不被压缩。这是为了防止刷新策略失败。例如,考虑以下刷新策略:
SELECT add_continuous_aggregate_policy('cagg_name',start_offset => INTERVAL '30 days',end_offset => INTERVAL '1 day',schedule_interval => INTERVAL '1 hour');
对于这种刷新策略,压缩策略需要将 compress_after
参数设置为大于连续聚合策略的 start_offset
参数。
SELECT add_compression_policy('cagg_name', compress_after=>'45 days'::interval);
关键词