数据源过滤器,现已无处不在
改进自定义 schema 的 AI 生成仪表盘
简化 OTel 指标哈希,并探讨主键优化思路
cityHash64 的可变参数形式,而基于 Map 的 schema 则会先拼接三个 Map,再进行哈希。事实证明,这些额外操作并无必要。现在,这两种 schema 类型都使用相同的 cityHash64 实现,既简化了代码,也避免了哈希过程中不必要的 Map 内存分配。
这项工作还揭示了 OpenTelemetry 指标 schema 的一项潜在优化。目前,主键存储完整的属性 Map;由于 ClickHouse 会将该 Map 作为索引的一部分保留在内存中,这会增加内存使用量。一种思路是在写入时物化属性哈希,并改为将其用于主键。目前尚未进行任何更改,但随着 OpenTelemetry schema 更新再次提上议程,这项优化值得重新评估。
相关 PR:#2475 将 AttributesHash 统一为可变参数 cityHash64