数据岗位面试题更新 2026-08-05

在ClickHouse中,存储引擎分为哪些主要类型?默认且最常用的引擎是哪一种?

数据技术原理ClickHouse

考察说明

考察对ClickHouse存储引擎分类和常用引擎的理解。

回答思路

  1. 【回答框架 1】ClickHouse的存储引擎分为MergeTree系列、Log系列、集成外部系统引擎以及其他特殊引擎。MergeTree系列专为大数据量写入和查询设计,支持主键索引、分区、数据复制等特性,是ClickHouse的核心。
  2. 【回答框架 2】常见且默认使用的引擎是MergeTree,尤其是其变体ReplacingMergeTree和SummingMergeTree等。MergeTree引擎通过合并后台数据块实现高性能写入和查询。
  3. 【回答框架 3】Log系列(如TinyLog、Log、StripeLog)适用于临时数据或小数据量场景,不支持索引和分区,查询性能低于MergeTree系列。
  4. 【回答框架 4】集成引擎(如MySQL、Kafka等)用于连接外部数据源,直接读取或写入外部系统,不存储数据本身。
  5. 【回答框架 5】选择引擎时需根据数据量、查询类型和存储需求权衡,MergeTree系列是生产环境的首选。
  6. 【关键点 1】MergeTree是默认且最常用的存储引擎,支持主键索引和分区。
  7. 【关键点 2】Log系列适合小量临时数据,不支持索引。
  8. 【关键点 3】集成引擎用于连接外部数据源,不持久化存储。
  9. 【关键点 4】引擎选择需考虑数据规模、查询模式和维护成本。
  10. 【易错点 1】误以为所有引擎都支持索引和分区,Log系列不支持。
  11. 【易错点 2】忽略MergeTree的合并机制,可能导致对写入性能的误解。
  12. 【易错点 3】将集成引擎视为存储引擎,其行为与本地存储引擎不同。