Introduction | ClickHouse Documentation
在所有的表引擎中,最为核心的当属 MergeTree 系列表引擎,这些表引擎拥有最为强大的性能和最广泛的使用场合。对于非 MergeTree 系列的其他引擎而言,主要用于特殊用途,场景相对有限。
而 MergeTree 系列表引擎是官方主推的存储引擎,支持几乎所有 ClickHouse 核心功能,包括以下:
其中 Base MergeTree 表引擎是单节点 ClickHouse 实例的默认表引擎,因为它对于广泛的用例来说是通用的和实用的。
对于生产环境来说,ReplicatedMergeTree 官方推荐的最佳默认选择,它为常规 MergeTree 引擎的所有功能增加了高可用性。另外,还具有自动重复数据删除的功能,所以如果在插入过程中出现网络问题,可以安全地进行数据重写操作。
MergeTree | ClickHouse Documentation
MergeTree (合并树)引擎被设计用于插入极大量的数据到一张表当中。在写入一批数据时,数据总会以数据片段的形式写入磁盘,且数据片段不可修改。为了避免片段过多,ClickHouse 会通过后台线程,定期合并这些数据片段,属于相同分区的数据片段会被合成一个新的片段。
这种数据片段往复合并的特点,也正是合并树名称的由来。
MergeTree 作为 MergeTree Family 最基础的表引擎,主要有以下特点: