简述网站开发设计流程,免费建站网站一级在线看,专业分销网站建设,少儿图书销售网站开发背景提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 MergeTree 系列表引擎前言MergeTree 系列表引擎 --功能MergeTree 系列表引擎 --种类 1.MergeTree1.1MergeTree 建表语句#xff1a;1.2 MergeTree 引擎表目录解析查… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 MergeTree 系列表引擎前言MergeTree 系列表引擎 --功能MergeTree 系列表引擎 --种类 1.MergeTree1.1MergeTree 建表语句1.2 MergeTree 引擎表目录解析查询过程  1.3 MergeTree 引擎表设置分区 MergeTree 系列表引擎
前言
ClickHouse 提供了大约 28 种表引擎各有各的用途 纷繁复杂。ClickHouse 表引擎一共分为四个系列分别是 Log 系列、MergeTree 系列、Integration 系列、Special 系列。其中包含了两种特殊的表引擎 Replicated、Distributed功能上与其他表引擎正交根据场景组合使用
Log 系列用来做小表数据分析MergeTree 系列用来做大数据量分析Integration 系列则多用于外表数据集成。再复制表 Replicated 系列分布式表 Distributed 等
在所有的表引擎中最为核心的当属 MergeTree 系列表引擎这些表引擎拥有最为强大的性能和最广泛的使用场合。对于非 MergeTree 系列的其他引擎而言主要用于特殊用途场景相对有限。
MergeTree 系列表引擎 --功能
而 MergeTree 系列表引擎是官方主推的存储引擎有
主键索引数据分区数据副本数据采样删除和修改等功能支持几乎所有 ClickHouse 核心功能。
MergeTree 系列表引擎 --种类
MergeTree 系 列 表 引 擎 包 含
MergeTreeReplacingMergeTreeSummingMergeTree汇总求和功能AggregatingMergeTree聚合功能CollapsingMergeTree折叠删除功能VersionedCollapsingMergeTree版本折叠功能引擎
在这些的基础上还可以叠加 Replicated 和 Distributed。
1.MergeTree
MergeTree 在写入一批数据时数据总会以数据片段的形式写入磁盘且数据片段在磁盘上不可修改。为了避免片段过多ClickHouse 会通过后台线程定期合并这些数据片段属于相同分区的数据片段会被合成一个新的片段。这种数据片段往复合并的特点也正是合并树名称的由来。 1.1MergeTree 建表语句 ENGINEENGINE MergeTree()MergeTree 引擎没有参数。 ORDER BY排序字段。比如 ORDER BY (Col1, Col2)值得注意的是如果没有使用 PRIMARY KEY 显式的指定主键 ORDER BY 排序字段自动作为主键。如果不需要排序则可以使用 ORDER BY tuple() 语法这样的话创建的表也就不包含主键。这种情况下ClickHouse 会按照插入的顺序存储数据。必选项。 PARTITION BY 分 区 字 段 例 如 要 按 月 分 区 可 以 使 用 表 达 toYYYYMM(date_column)这里的 date_column 是一个 Date 类型的列分区名的格式会是YYYYMM。可选。 PRIMARY KEY指定主键如果排序字段与主键不一致可以单独指定主键字段。否则默认主键是排序字段。大部分情况下不需要再专门指定一个 PRIMARY KEY子句注意在 MergeTree 中主键并不用于去重而是用于索引加快查询速度。可选。 SAMPLE BY采样字段如果指定了该字段那么主键中也必须包含该字段。比如 SAMPLE BY intHash32(UserID) ORDER BY (CounterID, EventDate,intHash32(UserID))。可选。TTL数据的存活时间。在 MergeTree 中可以为某个列字段或整张表设置 TTL。当时间到达时如果是列字段级别的 TTL则会删除这一列的数据如果是表级别的 TTL则会删除整张表的数据。可选。SETTINGS额外的参数配置。可选。 示例 MergeTree引擎会在插入数据 15 分钟左右将同一个分区的各个分区文件片段合并成一整个分区文件。 这里也可以手动执行 OPTIMIZE 语句手动触发合并 1.2 MergeTree 引擎表目录解析 进入到某一个分区目录片段“202102_2_2_0”中我们可以看到如下目录 查询过程 1.3 MergeTree 引擎表设置分区 案例