用途:面向 ClickHouse 列式数据库(OLAP)的专家级辅助,适用于实时分析报表、安全 SIEM、Web 分析、日志与追踪存储等需要海量数据聚合的场景。
主要能力:讲解 MergeTree 引擎家族(不可变有序 part 的异步合并)、AggregatingMergeTree 物化视图预聚合、ReplacingMergeTree 去重、向量化 SIMD 查询执行,以及 LZ4/ZSTD 列级压缩。
使用方式:以 SQL 建表与查询为主。示例建表使用 ENGINE = MergeTree()、PARTITION BY toYYYYMM(event_time)、ORDER BY (site_id, event_time, user_id)、SETTINGS index_granularity = 8192;物化视图通过 CREATE MATERIALIZED VIEW ... TO ... AS SELECT 配合 uniqState 等聚合状态函数实现插入时预聚合;去重查询可用 FINAL。
最佳实践:批量插入 1 万至 10 万行或按秒级间隔写入;对低基数字符串使用 LowCardinality(String);排序键按过滤频率从低基数到高基数排列;用 ReplacingMergeTree 按版本号去重。避免单行 INSERT、将 ClickHouse 用于事务型 OLTP、以及创建过多分区(每表分区数控制在 1000 以内,按月而非按天分区)。
常见问题:出现 “Too many parts” 时改为大批量写入或异步插入缓冲;查询内存超限时在排序键前缀加 WHERE 过滤或调大 max_memory_usage;CSV/JSON 导入解析失败时核对格式并使用 input_format_skip_unknown_fields = 1。
限制:不支持 ACID 行锁、单记录更新与外键级联。具体版本、部署与收费信息暂未提供。