clickhouse清除system 表数据释放磁盘空间

news/2025/3/15 11:24:54/

注:clickhouse 默认系统有以下几个 log 表,如下

system.asynchronous_metric_log  
system.metric_log
system.part_log
system.query_log
system.query_thread_log
system.session_log 
system.trace_log 

如果不想看原文直接执行以下语句即可。

ALTER table `system`.asynchronous_metric_log  DELETE where event_date is not null;
ALTER table `system`.metric_log DELETE where event_date is not null;
ALTER table `system`.part_log DELETE where event_date is not null;
ALTER table `system`.query_log DELETE where event_date is not null;
ALTER table `system`.query_thread_log DELETE where event_date is not null;
ALTER table `system`.session_log DELETE where event_date is not null;
ALTER table `system`.trace_log DELETE where event_date is not null;OPTIMIZE TABLE system.asynchronous_metric_log FINAL;
OPTIMIZE TABLE system.metric_log FINAL;
OPTIMIZE TABLE system.part_log FINAL;
OPTIMIZE TABLE system.query_log FINAL;
OPTIMIZE TABLE system.query_thread_log FINAL;
OPTIMIZE TABLE system.session_log FINAL;
OPTIMIZE TABLE system.trace_log FINAL;

问题

为什么我执行ALTER table system.asynchronous_metric_log DELETE where event_date is not null;和 truncate table system.asynchronous_metric_log; 后store 文件不见减少

📌 执行 ALTER TABLE … DELETE 或 TRUNCATE TABLE 后,为什么 store 目录文件没有减少?
当你执行以下命令:

ALTER TABLE system.asynchronous_metric_log DELETE WHERE event_date IS NOT NULL;

或者

TRUNCATE TABLE system.asynchronous_metric_log;

你可能发现 /var/lib/clickhouse/store/ 目录下的文件没有减少,或者磁盘空间没有释放。

✅ 1. DELETE 只是标记数据删除,并不会立刻释放磁盘
在 ClickHouse 里,DELETE 并不会 立即 物理删除数据,而是:

创建一个“删除标记”,表示哪些数据不再可见。
实际数据仍然存储在 store/ 目录中,但不会被查询结果返回。
数据真正删除要等到 MergeTree 进行合并(Merge)时,ClickHouse 才会清理过时数据。
🔹 解决方案:手动触发合并
你可以手动执行 OPTIMIZE 命令:

OPTIMIZE TABLE system.asynchronous_metric_log FINAL;

✅ 这会强制 ClickHouse 合并数据,并物理删除被标记为删除的数据。
✅ 2. TRUNCATE 可能只是逻辑清理,并不一定释放文件

TRUNCATE TABLE system.asynchronous_metric_log;

🔹 TRUNCATE 主要做的是:

清除 system.asynchronous_metric_log 的所有数据,使其不可见。
但 不会立刻释放磁盘空间,因为 ClickHouse 可能会延迟文件删除,以提高性能。
✅ 解决方案:手动触发磁盘回收

sudo systemctl restart clickhouse-server

这会重启 ClickHouse 服务器,并确保 ClickHouse 释放已经删除的数据文件。

✅ 3. store/ 目录中的数据文件为何不减少?
ClickHouse 采用 MergeTree 存储引擎,它不会立即删除文件,而是等到数据合并后才会清理旧文件。即使你 DELETE 或 TRUNCATE 了表,store/ 目录的文件仍然可能保留一段时间。

🔹 如何检查哪些文件仍在占用空间?

du -sh /var/lib/clickhouse/store/*

🔹 如果想立即释放空间

OPTIMIZE TABLE system.asynchronous_metric_log FINAL;

然后执行:

sudo systemctl restart clickhouse-server

结论

命令 是否释放空间? 解决方案
DELETE ❌ 不会立即释放 OPTIMIZE TABLE … FINAL; 后重启
TRUNCATE ⚠ 可能不会释放 重启 ClickHouse
OPTIMIZE FINAL ✅ 强制清理数据 确保数据合并后释放磁盘
🚀 推荐执行 OPTIMIZE TABLE … FINAL;,然后重启 ClickHouse,确保 store/ 目录清理! 🎯


http://www.ppmy.cn/news/1579298.html

相关文章

Centos7阿里云yum源

#Step1:下载repository 没有wget命令 就用curl wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #Step2:安装epel基础组件源 没有wget命…

微店商品详情页的常见结构及爬虫解析方法

微店作为知名的电商平台,其商品详情页的结构设计通常会围绕用户体验和商品展示效果展开。以下是一些常见的微店商品详情页结构特点及其对应的爬虫解析方法: 一、常见结构 (一)页面头部 LOGO和店招:通常位于页面顶部&…

面向对象Demo02

方法的调用的回顾 package oop; ​ public class Demo02 {//静态public static void main(String[] args) {//student student new student();student.speak();//非静态 //student student new student();} } package oop; ​ public class student {public static void sp…

双向广搜

从两侧同时展开,那测数据少就从哪侧展,两者展开结果出现一样的,返回答案 127. 单词接龙 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int ladderLength(string beginWord, string endWord, vector<string>& wordList) {unordered_set<stri…

Compose 实践与探索八 —— LayoutModifier 解析

前面几节讲的 Modifier 都是起辅助作用的&#xff0c;比如 Modifier 的伴生对象、CombinedModifier、 ComposedModifier 以及几乎所有 Modifier 的父接口 Modifier.Element。本篇我们开始讲具有直接功效的 Modifier&#xff0c;分为几个大类&#xff1a;LayoutModifier、DrawMo…

基于Python+Vue开发的旅游景区管理系统源码+运行步骤

项目简介 该项目是基于PythonVue开发的旅游景区管理系统&#xff08;前后端分离&#xff09;&#xff0c;这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Python的旅游景…

内网渗透之内网基础知识(一)

工作组 工作组:工作组是局域网中的一个概念&#xff0c;他是长久的资源管理模式。默认情况下使 用工作组方式进行资源管理&#xff0c;将不同的 computer 按照不同的要求分类到不同的组 域:用来描述一种架构&#xff0c;和“工作组”相对应&#xff0c;由工作组升级而来的高级…

Doris vs Elasticsearch:全维度对比与实际成本案例解析

在大数据实时分析与日志检索场景中&#xff0c;企业常用的技术方案主要集中在 Elasticsearch 与 Apache Doris 两大产品上。Elasticsearch 以强大的全文检索和灵活的聚合功能著称&#xff0c;而 Doris 则凭借分布式 MPP 架构、列式存储以及日益完善的倒排索引能力&#xff0c;在…