clickhouse
文章平均质量分 85
小白数据猿
专注高并发,大数据,人工智能&机器学习
展开
-
Clickhouse原理&源码分析系列,持续更新
ClickHouse原理&源码分析系列,不定时更新中、原创 2022-12-28 11:46:03 · 454 阅读 · 1 评论 -
MergeTree概述
Clickhouse 中最强大的表引擎当属 MergeTree (合并树)引擎及该系列(MergeTree)中的其他引擎。MergeTree 系列的引擎被设计用于插入极大量的数据到一张表当中,数据可以以数据片段的形式一个接着一个的快速写入,数据片段在后台按照一定的规则进行合并。原创 2022-12-28 11:40:31 · 1743 阅读 · 0 评论 -
MergeTree写入&查询流程分析
分区,索引,数据存储这些组件配合在一起给Clickhouse数据库带来非常高效的查询性能,本文从写入过程、查询过程,以及数据标记与压缩数据块的三种对应关系的角度展开介绍。原创 2022-12-28 10:05:38 · 883 阅读 · 0 评论 -
MergeTree原理之存储
我们都知道在MergeTree中数据是按列存储的,但是具体到存储的细节、以及如何工作的,都存在很多疑问。数据存储,就好比一本书中的文字,在排版时,绝不会密密麻麻地把文字堆满,这样会导致难以阅读。更为优雅的做法是,将文字按段落的形式精心组织,使其错落有致。本节将介绍MergeTree在数据存储方面的细节,尤其是其中关于压缩数据块的概念。原创 2022-12-28 10:02:42 · 691 阅读 · 0 评论 -
MergeTree原理之二级索引
除了一级索引之外,MergeTree同样支持二级索引,二级索引又称跳数索引,由数据的聚合信息构建而成。根据索引类型的不同,其聚合信息的内容也不同,当然跳数索引的作用和一级索引是一样的,也是为了查询时减少数据的扫描范围原创 2022-12-28 09:55:19 · 1091 阅读 · 0 评论 -
MergeTree原理之一级索引
MergeTree的主键使用`PRIMARY KEY`定义,待主键定义之后,MergeTree会依据`index_granularity`间隔(默认8192行),为数据表生成一级索引并保存至`primary.idx`文件内,索引数据按照PRIMARY KEY排序。相比使用PRIMARY KEY定义,更为常见的简化形式是通过ORDER BY指代主键。在此种情形下,PRIMARY KEY与ORDER BY定义相同,所以索引(primary.idx)和数据(.bin)会按照完全相同的规则排序。原创 2022-12-27 17:55:11 · 575 阅读 · 0 评论 -
MergeTree原理之分区
在MergeTree表引擎中,数据是以分区目录的形式进行组织的,每个分区独立分开存储,这样子在数据查询时候可以跳过无用的数据分区,最小化扫描的数据文件,从而达到加快查询的效果。本文将从分区的规则,底层目录的格式以及分区的合并规则等方面详细讲解数据分区目录具体是如何运作的。原创 2022-12-27 17:46:12 · 795 阅读 · 0 评论