知其然,知其所以然
ClickHouse 内部原理 2026-09-28

Double Delta、Gorilla 和 T64 编码

本机真实验证DoubleDelta(839倍)、Gorilla(约19%)、T64(反而比纯LZ4更大)三种专用编码在各自设计场景下的真实表现,包括一个诚实记录的反直觉结果。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

LowCardinality:字典编码什么时候有用

本机真实对比普通String和LowCardinality(String)存储同一列低基数数据,压缩后字节数接近,但压缩前体量真实相差10倍,诚实说明收益点在哪里。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

INSERT 数据从客户端到磁盘经历了什么

本机真实跑一条100万行的INSERT,打开ProfileEvents计数器,真实拿到insertedRows/insertedBytes/writerBlocks/fileOpens全部数字,38毫秒走完全程。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

为什么 ClickHouse 不建议一条一条 INSERT

本机真实测出batch_size从1到10万的吞吐曲线,从19行/秒到1,737,824行/秒,真实相差约91,464倍。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

Async Insert:异步写入如何合并小请求

本机真实对比100条单行INSERT在同步/async等待/async不等待三种模式下的表现,wait_for_async_insert=0真实快了约98倍,100条请求真实被合并成1个part。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

ReplacingMergeTree:去重为什么不是立即发生

本机真实插入同一个k两个版本,验证merge前两行都在、SELECT FINAL只是查询时临时去重、OPTIMIZE FINAL才真正让底层数据物理变成1行。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

CollapsingMergeTree:删除标记如何抵消旧记录

本机真实验证+1/-1成对抵消的两种时机:跨part需要等merge,同一次INSERT携带的一对真实在写入时就已经抵消。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

VersionedCollapsingMergeTree:乱序数据怎么折叠

本机真实验证普通CollapsingMergeTree处理乱序数据的失败场景,切到VersionedCollapsingMergeTree后诚实记录了一个和预期不符的真实测试结果,未回避这个意外。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

SummingMergeTree:聚合结果如何在 Merge 时累加

本机真实给同一个k分3次插入数值明细,验证merge前3行独立存在,OPTIMIZE FINAL之后真实求和成1行,cnt=3、amt=36分毫不差。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

Mutation:ALTER UPDATE/DELETE 为什么很重

本机真实对300万行表只更新1/3数据,用part文件名和字节数变化证明ALTER UPDATE是整part重写而非原地patch,即使部分part可能完全不含命中条件的行也照样重写。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

Lightweight Delete:删除标记和物理删除的区别

本机真实对比DELETE FROM(lightweight)和ALTER TABLE DELETE(mutation),用system.parts的真实行数元数据证明前者只打掩码不改物理数据,后者才真正物理重写。

ClickHouse MergeTree 真实验证 动画演示
ClickHouse 内部原理 2026-09-28

TTL:数据过期后到底什么时候被清理

本机真实插入带TTL的数据,全程不手动触发任何操作,观察到后台任务在5秒内自动完成了过期数据的物理清理,证明TTL清理有真实的延迟窗口而非立即发生。

ClickHouse MergeTree 真实验证 动画演示
京ICP备2026067502号-1京公网安备11010502063487号