MergeTree 引擎系列
MergeTree 系列的表引擎是 ClickHouse 数据存储能力的核心。它们提供了弹性和高性能数据检索所需的大部分功能:列式存储、自定义分区、稀疏主索引、二级数据跳过索引等。
基础 MergeTree 表引擎可以视为单节点 ClickHouse 实例的默认表引擎,因为它功能全面且适用于各种使用场景。
对于生产环境,ReplicatedMergeTree 是推荐选择,因为它在常规 MergeTree 引擎的所有功能基础上增加了高可用性。另一个优势是在数据摄取时自动进行数据去重,因此如果在插入过程中出现网络问题,软件可以安全地重试。
MergeTree 系列的其他引擎都为特定使用场景添加了额外功能。通常,这些功能通过后台的额外数据操作来实现。
MergeTree 引擎的主要缺点是它们相对较重。因此典型做法是不要使用过多此类引擎。如果您需要许多小表,例如用于临时数据,请考虑使用 Log 引擎系列。
| Page | Description |
|---|---|
| MergeTree table engine | MergeTree 系列表引擎专为高数据摄取速率和超大数据量而设计。 |
| Replicated* table engines | ClickHouse 中 Replicated* 系列表引擎实现的数据复制概览。 |
| Custom Partitioning Key | 了解如何为 MergeTree 表添加自定义分区键。 |
| ReplacingMergeTree table engine | 与 MergeTree 的不同之处在于,它会删除具有相同排序键值(表定义中的 ORDER BY 部分,而非 PRIMARY KEY)的重复记录。 |
| CoalescingMergeTree table engine | CoalescingMergeTree 继承自 MergeTree 引擎。其关键特性是在数据分片合并期间能够自动存储每个列的最后一个非空值。 |
| SummingMergeTree table engine | SummingMergeTree 继承自 MergeTree 引擎。其关键特性是在数据分片合并期间能够自动汇总数值数据。 |
| AggregatingMergeTree table engine | 将具有相同主键(更准确地说,具有相同排序键)的所有行替换为单个行(在同一数据分片内),该行存储聚合函数状态的组合。 |
| CollapsingMergeTree table engine | 继承自 MergeTree,但在合并过程中增加了用于折叠行的逻辑。 |
| VersionedCollapsingMergeTree table engine | 允许快速写入持续变化的对象状态,并在后台删除旧的对象状态。 |
| GraphiteMergeTree table engine | 专为对 Graphite 数据进行降采样和聚合/求平均(rollup)而设计。 |
| Exact and Approximate Vector Search | 精确与近似向量搜索的文档。 |
| Full-text Search using Text Indexes | 在文本中快速查找搜索关键词。 |