2023 年 1 月 18 日,微软举办了一次 ClickHouse 社区聚会,WebXT 团队在会上介绍了他们使用 ClickHouse 的两款分析产品:Titan 和 Microsoft Clarity。该团队分享了他们如何在几秒钟内分析 PB 级数据,并通过几次点击创建自定义仪表板。
数据和分析高级总监 Satish Manivannan 介绍了这些产品,并讨论了 Titan 的愿景,该愿景旨在为微软的数千名员工提供自助分析。
Titan:微软自助分析工具
WebXT 拥有微软一些最大的 Web 资产,包括 Edge 浏览器、必应搜索、MSN、Microsoft Advertising、地图等。这些 Web 资产生成 PB 级数据,分析对其成功至关重要。
WebXT 团队开发了 Titan,这是一个内部数据分析工具,可以高效、灵活地实现自助交互式数据分析。Titan 已经开发了两年半,每月有超过 2,500 人使用,每天接收超过 100,000 个查询。
该团队选择 ClickHouse 来支持其分析解决方案,并结合 Apache Superset 作为数据可视化工具。ClickHouse 和 Superset 都是开源技术,Manivannan 解释了他们如何看待这是一个竞争优势。“我们不仅为微软技术做出贡献,而且还非常拥抱开源社区,以便我们能够最好地与我们激烈的竞争对手竞争。当然,我认为这就是我们在 ClickHouse 和其他解决方案中取得成功的关键”,Manivannan 说。
历史上,该团队一直使用内部和第三方分析工具的组合。切换到 ClickHouse 为团队节省了数百万美元的许可费。“我们有 Adobe Analytics,我们还有 Interana,它被称为 Scuba。” Manivannan 解释说,这些工具运行良好,但他们的需求持续增长。“我们需要一些可以在内部构建的东西,这样我们就可以更快地创新,并跟上团队正在进行的创新。”
Titan 为数千名微软员工提供交互式分析,取代了 Adobe Analytics 等第三方工具,节省了数百万美元。
Titan 的高级别要求
Titan 的主要目标是提供秒级响应时间的自助分析。这将使人们能够以交互方式切片和切块数据,并将其保存为仪表板。该工具还需要允许自定义指标、过滤器和列。高级分析(例如用户分析、队列分析、A/B 测试和灵活的数据保留)也是重要的要求。Manivannan 讨论了自由形式查询分析的挑战,并强调了对可扩展、高性能和高可用性基础设施的需求。
选择 ClickHouse 作为 Titan,因为它满足所有高级别要求。
Manivannan 解释说,ClickHouse 在许多这些要求方面都是一个极好的选择,因为它速度快且具有成本效益。“ClickHouse 符合许多这些要求。当然,它速度很快。我们还做了一些自定义优化。所以我们的主要口号是,更快更便宜……ClickHouse 发挥了重要作用,并满足了我们多样化的数据需求。”
他还强调了 ClickHouse 中内置的遥测技术,这使得监控数据使用情况和存储空间变得更容易。
Titan 平台包括数千个仪表板,用于跟踪 KPI、自定义问题构建、用户分析功能和 A/B 测试功能。
ClickHouse 作为 Titan 的数据引擎
WebXT 团队的首席软件工程经理 Lin Tang 介绍了 Titan 架构的高级概述,该架构由数据源引擎、API 和由 Superset 支持的交互式可视化组成。数据源引擎有三个主要输入:Cosmos、Azure 和实时流式传输场景。
必应有许多多样化且昂贵的查询,它设置了数百台机器的集群来支持查询需求。ClickHouse 用作数据引擎,他们设置了多个集群,并使用 ZooKeeper 进行 ClickHouse 集群管理。
Titan 架构,由数据源引擎、API 和由 Superset 支持的交互式可视化组成。
构建 API 是为了提供身份验证并避免请求淹没后端数据库。他们还查询微软内部 API 以获取有关实验场景的信息。为了避免将每个查询都发送到后端数据库,他们实现了缓存,在低负载时预缓存数据,并在自定义仪表板上立即显示数据。
Tang 随后讨论了他们如何使用查询构建器和可视化自定义 Superset,包括一个采样功能,允许用户轻松地在采样数据和原始数据之间切换。
ClickHouse 的优化技术
本次演讲还涵盖了围绕 ClickHouse 的优化,包括一个近乎实时的管道,用于收集来自其生产服务的信号,以及一个内置的查询优化器,用于提高查询性能。Joiner Optimizer 的实施是为了解决大数据连接的挑战,从而使查询性能提高了 10 倍。“条件”优化器通过首先执行“where”来预先选择条件,从而减小数据大小并缩短处理时间。“时区”优化器首先选择数据范围,然后应用时间戳,从而很好地提高了查询性能。
使用 ClickHouse 的 Titan 近实时数据管道。
还讨论了存储效率,需要优化存储以提高性能。Tang 解释说,Titan 使用基于角色的返回和删除来跟踪需要删除的数据,确保高效删除而不会影响系统性能。还讨论了 ClickHouse 丰富的编码选项,发现 ZSTD 在某些表上提供了 50% 的节省,尽管查询性能较慢。
在微软举行的 ClickHouse 社区聚会深入了解了 Titan 和 Microsoft Clarity 的成功实施,这两者都基于 ClickHouse。本次活动突显了数据在微软成功中的重要性,并展示了自助分析如何为组织提供价值。
更多详情
- 本次演讲是在 2023 年 1 月 18 日在雷德蒙德微软办公室举行的 ClickHouse 社区聚会上进行的
- 在我们的聚会报告中,详细了解 ClickHouse 如何在 Microsoft Clarity(面向网站所有者的免费行为分析产品)中使用。