前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一分钟视频解读ClickHouse MergeTree

一分钟视频解读ClickHouse MergeTree

作者头像
Nauu
发布2020-03-04 10:41:20
1.3K0
发布2020-03-04 10:41:20
举报
文章被收录于专栏:ClickHouse的秘密基地

这是一个全新的系列,每篇文章将会尝试用一分钟的短视频,解读ClickHouse的某部分重要逻辑。

众所周知,表引擎是ClickHouse的一大特色,可以说正是由表引擎决定了一张数据表的最终性格,它拥有何种特性、数据以何种形式被存储以及如何被加载。

在ClickHouse众多的表引擎中,MergeTree是最为核心的部分,可以说使用ClickHouse就是在使用MergeTree也不为过。因为只有MergeTree才支持主键索引、数据分区、数据副本、TTL等高级特性并拥有最强的性能。

MergeTree在ClickHouse中有两层语义: 首先,它可以代表合并树(MergeTree)表引擎家族;其次,它表示合并树家族中最基础的MergeTree表引擎

用面向对象的思想来看,它们很像基类和继承类的关系。作为家族中最基础的表引擎,MergeTree实现了所有的基础能力,而家族中其他的表引擎则在MergeTree的基础之上各有所长。

正因为如此,MergeTree非常适合作为标本对象进行研究,掌握了它的核心原理即等同于掌握了整个家族系列。

作为MergeTree的第一篇解读,我想从它的分区合并规则讲起。

为什么呢?

合并树(MergeTree),合并树,顾名思义,关键在合并二字。而合并的对象正是它的分区目录,分区是MergeTree的根基。

在数据的写入过程中,数据总会以数据片段的形式被写入磁盘,且数据片段不可修改。伴随着每一批次的写入(每执行一次INSERT),MergeTree都会按照分区规则生成一个全新的分区目录。为了避免片段过多,在未来的某一时刻,属于相同分区的数据片段会被合并成一个全新的分区目录。

这种数据分区往复合并的特点正是合并树的名称由来。

接下来的视频,将会用1分钟的时间介绍分区目录在合并过程中的命名规则。

如果你对视频中的某些逻辑的理解有疑问,欢迎随时和我交流。

你也可以阅读《ClickHouse原理解析与开发实战》的MergeTree原理解析章节,它全方位的解读了MergeTree的方方面面。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ClickHouse的秘密基地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档