喜马拉雅的例子,这是 2019 年喜马拉雅 Alex 黄在 ClickHouse Meetup 的时候分享的案例。你能看到在喜马拉雅,ClickHouse 作为一个典型的数据查询平台来使用,它既做用户行为分析,也就是我们网上的各种各样的 APP 和网络日志的查询;也做用户画像的数据分析,你可以对不同用户画像标签的圈选人群进行人群探查、投放效果预测;它还可以用于各种服务器日志的监控报警,当服务出现问题的时候管理可以快速找到相关问题的原因,整体架构图可以参考下面这个样子。 腾讯音乐把 ClickHouse 作为了实时分析数据仓库,你在使用腾讯音乐的推荐和点击的时候,背后的大数据平台就是 ClickHouse 来提供的。 腾讯把数据放到消息队列里,然后通过一个叫做 Flink 的工具实时装载到 ClickHouse 当中,同时把一些离线文件传入传统的数据仓库里。最终我们数据分析师使用的数据,看到的是实时的数据,既可以看到上一秒的系统情况,还可以做各种自定义的 SQL 查询,数据还是秒回。这样帮助腾讯音乐自助进行汇总、筛选查询,也能快速地响应各种各样的原始数据变更。 其实所有互联网大厂里使用 ClickHouse 都可以实现针对数据用户日志的秒级查询,不再需要数据运营和产品团队自己跑复杂的脚本任务和处理了。 ClickHouse 在新浪用于监控整个数据平台。这个例子有意思的地方是新浪每天有 300 亿条的数据直接进入到 ClickHouse 平台里,而新浪在做监控的时候是通过算法来进行监控和处理的,每日有 800 万次的查询,每次几乎是毫秒级返回。 这就像前面数据算法基础这一章提到的,开始时还是用人在做分析,当技术发展到一定程度,我们就可以通过算法和机器来进行分析。现在的数据底层的技术可以已经可以非常容易地做到用算法取代人工,最终高效地实现整体的数据分析和告警。