SuperAPI AI 工具集

clickhouse-core-workflow-a

办公与效率

查看项目

更新于 10-15 22:42

技能介绍

用途:为分析型工作负载设计 ClickHouse 表结构,围绕四项决定查询速度与存储成本的决策——引擎、排序键、分区表达式、列编解码器,并指向 references/ 获取完整 DDL 与程序化应用路径。

主要能力:

  1. 引擎选择:MergeTree(通用分析、追加日志)、ReplacingMergeTree(可变行/upsert,合并时去重)、SummingMergeTree(预聚合计数)、AggregatingMergeTree(物化视图目标)、CollapsingMergeTree(有状态行更新)。ClickHouse Cloud 使用 SharedMergeTree,是 MergeTree 的直接替代,无需改 DDL。
  2. ORDER BY 排序键:定义稀疏主索引、磁盘数据布局与查询速度。建议低基数过滤列在前,再放高基数过滤列,最后放时间列;不要把从不用于过滤的高基数列放入。
  3. 表 DDL:从追加型事件骨架起步,再按访问模式调整引擎与排序键。
  4. 分区表达式:多数时序表默认按月 toYYYYMM(date),目标每分区 10-1000 个 part;过度分区(如按 user_id)会产生大量小 part 并拖慢性能。

使用方式:前置条件为已连接 @clickhouse/client(见 clickhouse-install-auth),并理解自身查询模式(过滤与分组字段)。产出包括表 DDL、每项决策的理由,以及可选的 @clickhouse/client command() 应用脚本。

适用场景:追加型点击流、可变用户画像(upsert)、预聚合日汇总等。

限制与错误处理:ORDER BY 表达式不在主键中时,移除显式 PRIMARY KEY 或对齐;part 过多(300+)需使用更粗分区;类型不匹配需让插入类型与 schema 一致;TTL 必须引用 DateTime 列。插入与查询见 clickhouse-core-workflow-b。