clickhouse分区目录的合并过程原理

目录

 

分区目录的合并过程

分区目录从创建、合并、到删除的整个过程


分区目录的合并过程

MergeTree的分区目录和传统意义上其他数据库有所不同。首先, MergeTree的分区目

录并不是在数据表被创建之后就存在的,而是在数据写入过程中被创建的。也就是说如果

一张数据表没有任何数据,那么也不会有任何分区目录存在。其次,它的分区目录在建立

之后也并不是一成不变的。在其他某些数据库的设计中,追加数据后目录自身不会发生变

化,只是在相同分区目录中追加新的数据文件。而 MergeTree完全不同,伴随着每一批数

据的写入(一次INSERT语句), MergeTree都会生成一批新的分区目录。即便不同批次写

入的数据属于相同分区,也会生成不同的分区目录。也就是说,对于同一个分区而言,也

会存在多个分区目录的情况。在之后的某个时刻(写入后的10~15分钟,也可以手动执行

optimize查询语句), ClickHouse会通过后台任务再将属于相同分区的多个目录合并成一个

新的目录。已经存在的旧分区目录并不会立即被删除,而是在之后的某个时刻通过后台任

务被删除(默认8分钟)。

属于同一个分区的多个目录,在合并之后会生成一个全新的目录,目录中的索引和数

据文件也会相应地进行合并。新目录名称的合并方式遵循以下规则,其中:

口 MinBlockNum:取同一分区内所有目录中最小的 MinBlockNum值。

口 MaxBlockNum:取同一分区内所有目录中最大的 MaxBlockNum值

口 Level:取同一分区内最大 Level值并加1

合并目录名称的变化过程 如下图:

分区目录从创建、合并、到删除的整个过程

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据架构师Pony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值