2025年7月 ClickStack 有哪些新变化?

图片

本文字数:9779;估计阅读时间:25 分钟

作者:The ClickStack team

本文在公众号【ClickHouseInc】首发

图片

本月初,我们发布了 ClickStack,这是一款基于 ClickHouse 构建的开源可观测性 (observability) 堆栈,让日志、指标、追踪和会话重放的统一变得比以往更加简单。其背后是同一款被 Netflix、eBay 等企业信赖的高性能引擎。

ClickStack 最大的优势之一在于,它将高基数、宽表事件数据的快速搜索与快速聚合结合在一个开源、低成本的解决方案中。通过采用 OpenTelemetry 进行数据采集,并以 HyperDX 作为 UI 层,ClickStack 提供了从数据摄取到强大可视化探索的完整开箱即用可观测性方案。

图片

在 ClickHouse 的世界里,一个月就能带来巨大的变化。自首次发布以来,我们持续不断地为 ClickStack 增添新功能和改进,致力于让它更强大、更易用。从本月开始,我们会定期分享最新进展,帮助你快速在 ClickStack 部署中应用这些最新改进。

贡献者

首先,我们要感谢本月的新开源贡献者。开源堆栈的构建离不开社区的共同努力,感谢每一位为 ClickStack 贡献力量的朋友——无论是通过 OpenTelemetry collector、Helm chart,还是 HyperDX。我们对你们的付出表示衷心感谢。

Huynguyen-anduin, OhJuhun, mGolestan98

ClickStack 支持 JSON 类型,查询速度更快

本月 ClickStack 的最大更新虽简单,但意义重大。我们为 ClickStack 新增了对 ClickHouse 原生 JSON 列类型的测试版支持。这一功能为基于 ClickHouse 的可观测性 (observability) 工作负载带来了全新的扩展性、性能和压缩能力——在我们的测试中,查询速度相比 Map 类型最高提升了 9 倍。

为什么需要支持 JSON?

在构建可观测性解决方案时,用户往往希望能够直接“发送事件”,而不必受限于严格的 Schema。实际情况是,可观测性数据来源复杂多样——不同的应用、团队,甚至组织,各自的结构不断演变。尽管结构化日志和 OpenTelemetry 等标准有所帮助,但团队依然需要捕获任意数量、类型和层级的标签与字段。

此前,ClickStack 中用于 OpenTelemetry 数据的 Schema 主要依赖 Map 类型,来处理如 LogAttributesResourceAttributes 和 SpanAttributes 这类包含动态属性的列。尽管这种方案可行,但也存在明显的不足:

  • 类型精度的损失:Map 的键和值都被存储为字符串,所有数据被强制转为单一类型。数值比较只能在查询时转换类型,既冗长又影响性能,同时占用更多内存。

  • 单列顺序扫描:使用 Map 类型时,所有 JSON 路径都存储在一个列中,查询某个键时需要加载并扫描整个 Map。当键数量众多时,导致大量不必要的 I/O,查询效率低下。用户通常通过物化列来预先提取需要的值以规避这一问题。

  • 不支持原生嵌套:Map 类型在处理原始值时尚可,但对嵌套的 Map 和数组支持较差,所有内容都被转成字符串。复杂数据需序列化成 JSON 字符串,查询繁琐且低效。例如,LogAttributes 结构中:

    {
      "service.name": "user-service",
      "service.version": "1.2.3",
      "http.status_code": "200",
      "user.preferences": "{\"theme\":\"dark\",\"notifications\":{\"email\":true,\"push\":false}}",
      "error.stack": "[\"AuthError: Invalid token\",\"  at validateToken (auth.js:45)\",\"  at middleware (app.js:23)\"]"
    }

像 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值