SuperAPI AI 工具集

clickhouse-architect

通用与其它

查看项目

更新于 10-15 23:41

技能介绍

用途:为 ClickHouse(v24.4+)提供规范化的表结构设计、压缩选择与性能优化指导,覆盖 ClickHouse Cloud(SharedMergeTree)与自托管(ReplicatedMergeTree、MergeTree)部署。

主要能力:

  1. ORDER BY 键选择:限制 3-5 列,低基数列在前,PRIMARY KEY 须为 ORDER BY 前缀。
  2. 压缩编解码器:时间戳用 DoubleDelta,浮点用 Gorilla,整数计数器用 T64,缓慢变化整数用 Delta,低基数字符串用 LowCardinality;读密集可用 LZ4 替代 ZSTD。Delta/DoubleDelta 与 Gorilla 组合默认被 allow_suspicious_codecs 阻止,应各自独立使用。
  3. PARTITION BY:用于数据生命周期管理而非查询优化,按时间单位分区,总分区数控制在 1000 以内,每分区 1-300 个 part。
  4. 性能加速:投影、物化视图、字典(dictGet 替代 JOIN)。
  5. 删除策略:DROP PARTITION 最快,其次 DELETE IN PARTITION、ALTER TABLE DELETE;DELETE FROM 轻量删除会留下 _row_exists=0 幽灵行,禁止用于写入管道。所有删除变更建议 SETTINGS mutations_sync = 1。
  6. 审计脚本:clickhouse-client --multiquery < scripts/schema-audit.sql,检查分区 part 数、压缩比、查询模式、复制延迟与内存使用。

使用方式:按“定义 ORDER BY → 选择压缩 → 配置分区 → 添加加速器 → 审计验证 → 用 COMMENT 记录”的流程执行。表与列必须写 COMMENT 作为唯一事实来源。Python 集成推荐官方 clickhouse-connect,不建议 clickhouse-driver。

适用场景:设计交易类等宽表模式、优化现有 ClickHouse 模式、配置 TTL 与数据清理、搭建星型模型字典。

限制:资料未提供具体收费、价格与平台支持信息;部分性能数字(如 JOIN 180x、Mutation 1700x 改进)为资料所述基准,实际效果需自行验证。