经常使用MySQL,应该知道InnoDB和MyISAM存储引擎,不同的引擎提供了不同的功能特性。而ClickHouse提供了丰富的表引擎,不同的引擎代表了对数据的不同加载和存储等方式。下面按照不同的分类进行介绍。
日志
具有最小功能的轻量级引擎。当需要快速写入许多小表(最多约100万行)并在以后整体读取它们时,该类型的引擎是最有效的。主要共性有:数据存储在磁盘,不支持索引,不支持原子写,不支持alter操作等。详情如下图:
MergeTree
适用于高负载任务的最通用和功能最强大的表引擎。这些引擎的共同特点是可以快速插入数据并进行后续的后台数据处理。 MergeTree系列引擎支持数据复制,分区和一些其他引擎不支持的其他功能。
集成引擎
用于与其他的数据存储与处理系统集成的引擎。这些表引擎与其他类型的表引擎类似,可以用于将外部数据导入到ClickHouse中,或者在ClickHouse中直接操作外部数据源。
除以上三种类型的表引擎,CH还提供了一些特定功能的表引擎,如Distributed、Merge、MaterializedView等等,更多可以参考其官方文档。