Clickhouse 为什么做查询分析那么快????????
因为clickhouse使用了下列方案:
- clickhouse 数据分区
- clickhouse 列式存储
- clickhouse 一级索引(主键索引)
- clickhouse 二级索引(跳数索引)
- clickhouse 数据压缩
- clickhouse 数据标记
结合两个需求场景来解析
- 数据插入
- 数据查询
1、clickhouse数据分区
关于表分区目录结构:MergeTree表的分区目录物理结构:
假设有一个分区表:该表有 a,b,date,name四个字段,其中date是分区字段(按月份)
那么对于分区有两个问题:
- 分区文件夹的命名规则是什么?合并规则是什么?
- 分区文件夹中国的文件列表,各是什么作用,什么含义?
1.1命名规则 & 合并规则
PartitionID_MinBlockNum_MaxBlockNum_level,示例:20230519_1_1_0
PartitionID:分区字段的值
MinBlockNum:最小块序号
MaxBlockNum:最大块序号
Level:参与合并的次数
BlockNum是表内部全局累加,每次创建一个新的分区目录,就会累加 1
文件目录的变化过程
-- 假设有两条语句
A: insert into table values ('2021-06', 'a'), ('2021-07', 'b');
B: insert into table values ('2021-06', 'c'), ('2021-07', 'd');

最低0.47元/天 解锁文章
1667

被折叠的 条评论
为什么被折叠?



