Clickhouse从入门到入坑(11)

136 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 12 天,点击查看活动详情

生命不息,学习不止

题外话

啊,又是周一了,美好的时间过得总是很快,北京的天气我也是挺服气的,一到周六周日就阴天,甚至下雨,每到工作日就会大晴天,看来北京的太阳也休周六周日

废话不多说,上货

在这里插入图片描述

表引擎

继续表引擎的介绍

  • CollapsingMergeTree:这是MergeTree的变体,适用于在合并数据时去重。主要用于存储时间序列数据,如日志数据、金融数据等业务场景。

CollapsingMergeTree的工作原理可以分为以下四点:

  1. 分块存储:CollapsingMergeTree使用分块存储,将数据存储在多个块中。每个块存储数据的一段时间范围内的数据。

  2. 合并:当一个块的数据量达到阈值时,ClickHouse会将这个块与相邻的块进行合并,生成一个新的块。

  3. 折叠:当一个块的数据量达到阈值时,ClickHouse会将该块折叠为多个小块,以支持快速查询。

  4. 查询:当用户查询数据时,ClickHouse会自动选择合适的块来满足查询请求,从而提高查询速度。

那又如何判定数据块是该拆分还是合并呢?

ClickHouse在判定数据块数据量到达阀值时采用合并还是拆分策略是根据一系列因素来决定的,其中一些因素如下:

  • 块大小:块的大小阈值是一个重要因素,如果块的大小超过了阈值,ClickHouse就会采用拆分策略。
  • 块中的数据量:如果块中的数据量达到了阈值,ClickHouse就会采用拆分策略。
  • 块中的数据时间范围:如果块中的数据时间范围达到了阈值,ClickHouse就会采用拆分策略。
  • 块的使用频率:如果一个块的使用频率很高,ClickHouse就会采用合并策略。

这些因素共同决定了ClickHouse采用合并还是拆分策略。ClickHouse会根据这些因素实时评估数据块的状态,从而决定采用合并还是拆分策略。

需要注意的是,阈值的设置可以通过ClickHouse的配置文件来实现,用户可以根据自己的需求调整阈值的值,以便更好地满足业务需求。

你以为结束了

下一篇我们继续挖坑

在这里插入图片描述

大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划! 在这里插入图片描述