clickhouse ttl不生效

现象:
日志保留31天, 但是发现1年前的数据还有。

表结构:

CREATE TABLE
   ads_xxxx_metrics_1m_local (
    `static_time` String COMMENT '统计时间',
     ......
  ) ENGINE = ReplacingMergeTree (process_time)
PARTITION BY
  toYYYYMMDD (toDate (static_time))
ORDER BY
  (
    static_time,
     xxx
    real_time_type
  ) TTL parseDateTimeBestEffort (static_time) + toIntervalDay (31) 

定位:
是因为删除数据速度 赶不上插入数据速度,造成历史数据无法被清理。

优化:
TTL 删除数据按照 分区时间删除。

  `TTL parseDateTimeBestEffort (static_time) + toIntervalDay (31)  这个改成  toDate (static_time) + toIntervalDay (31)`   

加速删除数据的速度。

历史使用通过删除分区的方式删除。

  select
* 
from
  system.parts
where
table = 'xxxxx'; 

通过 partition 字段查找 需要删除的分区。

alter table table_namexxxx DROP PARTITION ‘20231125’;

注意:

为什么optimize后数据TTL仍未生效?
常见原因及解决方案如下。

常见原因1:数据的TTL淘汰是在主键合并阶段执行的,如果data part迟迟没有进行主键合并,那过期的数据就无法淘汰。

解决方案:

您可以通过手动optimize final或者optimize 指定分区的方式触发合并任务。

您可以在建表时设置merge_with_ttl_timeout、ttl_only_drop_parts等参数,提高含有过期数据data parts的合并频率。

常见原因2:表的TTL经过修改或者添加,存量的data part里缺少TTL信息或者不正确,这样也可能导致过期数据淘汰不掉。

解决方案:

您可以通过alter table materialize ttl命令重新生成TTL信息。

您可以通过optimize 分区更新TTL信息。

相关推荐

  1. clickhouse ttl生效

    2024-04-22 09:20:03       33 阅读
  2. jsonfield注解生效

    2024-04-22 09:20:03       46 阅读
  3. uniapp flex:1生效

    2024-04-22 09:20:03       54 阅读
  4. docker运行nginx生效

    2024-04-22 09:20:03       61 阅读
  5. SpringMVC校验注解生效

    2024-04-22 09:20:03       59 阅读
  6. linux rc.local生效

    2024-04-22 09:20:03       36 阅读
  7. 解决IDEA配置gitignore生效

    2024-04-22 09:20:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 09:20:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 09:20:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 09:20:03       87 阅读
  4. Python语言-面向对象

    2024-04-22 09:20:03       96 阅读

热门阅读

  1. go语言触发浏览器打开网址程序实例

    2024-04-22 09:20:03       31 阅读
  2. 【大语言模型LLM】-大语言模型如何编写Prompt?

    2024-04-22 09:20:03       33 阅读
  3. 12.Ribbon饥饿加载

    2024-04-22 09:20:03       34 阅读
  4. windows使用ssh-copy-id命令的解决方案

    2024-04-22 09:20:03       35 阅读
  5. ORAN每个端点和每个C平面消息的限制

    2024-04-22 09:20:03       40 阅读
  6. Nginx日志

    2024-04-22 09:20:03       36 阅读
  7. centos 7.9 安装 ftp 传输文件

    2024-04-22 09:20:03       39 阅读
  8. 爬虫(小案例)

    2024-04-22 09:20:03       35 阅读
  9. LeetCode hot100-29-Y

    2024-04-22 09:20:03       32 阅读
  10. 【AIGC调研系列】llama 3与GPT4相比的优劣点

    2024-04-22 09:20:03       44 阅读