MergeTree 引擎家族
来自 MergeTree 家族的表引擎是 ClickHouse 数据存储能力的核心。它们提供了大多数功能以确保数据的韧性和高性能检索:列式存储、自定义分区、稀疏主键、次级数据跳过索引等。
基础的 MergeTree 表引擎可以认为是单节点 ClickHouse 实例的默认表引擎,因为它在广泛的使用案例中都很通用且实用。
对于生产环境,建议使用 ReplicatedMergeTree,因为它为常规 MergeTree 引擎的所有功能添加了高可用性。一个额外的好处是,数据摄取时会自动去重,因此如果在插入期间出现网络问题,软件可以安全地重试。
MergeTree 家族的其他引擎则为某些特定的使用案例增加了额外的功能。通常,它们是在后台实现的额外数据操作。
MergeTree 引擎的主要缺点是它们相对较重。因此,典型的模式是拥有不是很多的这些引擎。如果你需要许多小表,例如用于临时数据,考虑 Log 引擎家族。
页面 | 描述 |
---|---|
VersionedCollapsingMergeTree | 允许快速写入不断变化的对象状态,并在后台删除旧对象状态。 |
数据复制 | ClickHouse 数据复制概述 |
MergeTree | MergeTree 家族表引擎设计用于高数据摄入速率和海量数据量。 |
精确和近似最近邻搜索 | 精确和近似最近邻搜索的文档 |
CollapsingMergeTree | 继承自 MergeTree,但在合并过程中添加了合并行的逻辑。 |
自定义分区键 | 学习如何向 MergeTree 表添加自定义分区键。 |
使用全文索引的全文搜索 | 快速查找文本中的搜索词。 |
SummingMergeTree | SummingMergeTree 继承自 MergeTree 引擎。其关键特性是在部分合并期间自动汇总数值数据。 |
AggregatingMergeTree | 用存储聚合函数状态组合的单行(在单个数据部分内)替换所有主键相同的行(更准确地说,是相同的 排序键)。 |
GraphiteMergeTree | 设计用于稀疏和聚合/平均(汇总)Graphite 数据。 |
ReplacingMergeTree | 与 MergeTree 不同,它根据相同的排序键值(ORDER BY 表部分,而不是 PRIMARY KEY )移除重复条目。 |