首页/数据/NoSQL 速查/表引擎分类与选择
本包目录(322 条)
MongoDB99 条Elasticsearch89 条
ClickHouse56 条
时序与列式28 条选型与架构50 条

表引擎分类与选择

ClickHouse 表引擎决定数据存储与读写方式:生产数据以 MergeTree 家族为主,集成引擎对接外部系统,Distributed 负责集群读写转发,Log 家族只适合小数据。

NoSQL 速查数据更新于 2026-10-12
MergeTree 家族Replacing/Summing/Aggregating/Collapsing/Replicated 等,带主键排序与后台合并
Log 家族TinyLog / Log / StripeLog:结构简单、无索引,适合小表与临时数据
集成引擎Kafka / MySQL / PostgreSQL / JDBC / S3 / URL 等,用于对接外部数据源
特殊引擎Distributed(分布式查询)、Dictionary、Merge、Buffer、Null、Memory、File

示例

示例
-- 查看全部引擎与说明
SELECT name, description FROM system.table_engines ORDER BY name;

-- 建表时指定引擎
CREATE TABLE tmp_log (ts DateTime, msg String) ENGINE = Log;
Memory 引擎数据不落盘、重启即丢,只适合临时表;File/URL 引擎用于把外部文件当表查询。

易错点

  • 把业务大表建在 Log 家族上会缺少索引与合并优化,后续迁移成本高
  • 集成引擎多数不支持写入后合并语义,写入 Kafka 引擎表的行读一次即消费,排错时优先看引擎参数

数据来源与参考

  • ClickHouse Docs: Table engines
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌