CORE CONCEPTS · 分析型 · 分布式 OLAP
ClickHouse 核心知识
ClickHouse 的性能来自 MergeTree、稀疏主索引、后台合并和列式向量化;表结构与 ORDER BY 往往比增加节点更重要。
学完应该能做到
- 能设计分区键和排序键
- 能解释 parts/merges
- 能区分复制、分片和分布式表
三个必须建立的心智模型
MergeTree 与排序键
数据按 part 写入并按 ORDER BY 排序,稀疏索引通过 granule 跳过数据。
- 排序键服务主要过滤路径
- 分区不要过细
- 检查 primary key 命中率
合并与变更
后台 merge 重写 parts;mutation、TTL 和去重都可能放大 I/O。
- 监控 part 数量
- 避免高频小批写入
- 理解 FINAL 的代价
集群拓扑
副本解决可用性,分片解决容量,Distributed 表负责路由。
- 明确一致性预期
- 设计 sharding key
- Keeper 需要独立容量规划
把知识落到工程决策
建模前
先写出访问模式、正确性边界、数据生命周期和故障预算,再决定表、键、索引或分区。
上线前
使用接近生产的数据分布与并发压测,记录查询计划、资源水位和恢复时间作为基线。
运行中
监控延迟分位数、容量增长、后台维护与复制健康;报警必须能映射到可执行处置步骤。