Clickhouse:日志表占用大量磁盘空间怎么办?

本文介绍了Clickhouse日志表如query_log等因长时间未清理导致占用大量磁盘空间的问题。通过查看system.parts系统表可以了解日志表的大小。清理方法包括使用mutation语句或直接删除分区,后者在分区过大时需要配合创建force_drop_table标记文件。为避免手动清理,建议设置日志表的TTL自动清理策略,如保存15天数据。详细操作参考ClickHouse官方文档。
摘要由CSDN通过智能技术生成

背景

clickhouse有很多系统表(参见https://clickhouse.com/docs/en/operations/system-tables),其中一些用来存储日志,比如query_log、query_thread_log、trace_log。默认情况下,ClickHouse不清理日志,因此随着时间推移,这些表会占用大量磁盘空间,有导致系统宕机的风险。

查看日志表的大小

可以通过system.parts查看各个表的大小。

SELECT 
    sum(rows) AS `总行数`,
    formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,
    formatReadableSize(sum(data_compressed_bytes)) AS `压缩大小`,
    round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 0) AS `压缩率`,
    `table` AS `表名`
FROM system.parts where database = 'system' group by `table`

结果如下&#x

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值