ClickHouse | TTL策略

背景描述

近期因CK中query_log表空间占用过大问题,导致磁盘使用率很高,通过查阅资料发现可以通过TTL策略进行清理。同时补充了一些相关的查询SQL,以及注意事项(供参考)。

TTL策略
go 复制代码
alter table system.表名 modify TTL 日期字段 + INTERVAL 天数 DAY;

设置ttl策略的表必须有日期字段,DAY可调整为月、年。

注意事项
  • CK服务启停后,设置TTL策略的表会自动物理化,生成 "表名_序列"(query_log_0)的临时表

  • 设置TTL策略时,需要先确认表的占用情况,以及物理磁盘占用情况

    • 假设180天之前的表数据占用50G,清理时磁盘空间会增加约100G的占用空间,会慢慢自动释放,周期约1H

    • 建议在清理表占用空间时,如果数据无需可直接执行truncate

  • 执行truncate表释放空间时,如果表数据超过50G,无法执行。需要先清理表数据(drop表分区),小于50G时可执行truncate

  • CK命令行执行SQL脚本时不能有换行,同时以分号结尾

  • CK命令行脚本执行超时时间300秒

其他相关SQL
# 查看系统表占用大小
go 复制代码
select table, formatReadableSize(sum(bytes)) as size from system.parts where  active group by table;
# 查看单表占用大小
go 复制代码
select formatReadableSize(sum(bytes)) as size from system.parts where table = '表名' ;
# 查看表分区
go 复制代码
select * from system.parts where table = '表名' ;
# 删除表分区
go 复制代码
alter table system.表名 drop partition 分区维度;
# 清理表数据
go 复制代码
truncate table system.表名;
相关推荐
ClickHouseDB4 天前
基于 OpenTelemetry 的意式浓缩咖啡机可观测性实践
clickhouse
l1t6 天前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle
SelectDB技术团队8 天前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
java_logo10 天前
Docker 部署 ClickHouse Server:轻松搭建列式 OLAP 分析数据库平台
数据库·clickhouse·docker·私有化部署·olap·列式数据库·轩辕镜像
西风未眠14 天前
ClickHouse数据库引擎引起的数据丢失
数据库·clickhouse·故障
李兆龙的博客16 天前
从一到无穷大 #86:ClickHouse 收购 RunReveal——可观测性竞争进入宏观调控阶段
clickhouse
Gain_chance21 天前
大数据毕业设计实战|Data Insight Platform:用 FastAPI + ClickHouse 打造低门槛全链路数据洞察平台
大数据·数据库·clickhouse·毕业设计·fastapi
迷迭香yy23 天前
A股数据本地存储方案对比JSON、SQLite、ClickHouse、DuckDB怎么选 IG50免费开源股票数据API接口
clickhouse·sqlite·json
leisoo809724 天前
本地股票数据深度对比ClickHouse与Parquet存储方案 IG50免费开源股票数据API接口
clickhouse·开源
A.说学逗唱的Coke1 个月前
【数据库专题】ClickHouse 深度实战:从列式存储原理到 PB 级海量日志与可观测性分析
数据库·clickhouse·硬件架构