4万字长文ClickHouse应用实战-物化视图在微信的实践

本文详细介绍了如何在微信中使用ClickHouse进行日志分析,特别是利用物化视图解决大数据量查询性能问题。通过实例展示了物化视图的创建、维护和进阶使用,包括与字典的结合以及如何通过物化视图实现多日志指标的合并,从而避免复杂的JOIN操作,提升查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

ClickHouse广泛用于用户和系统日志查询场景中,借助腾讯云提供基础设施,微信也在分阶段逐步推进clickhouse的建设和应用,目前作为基础建设的一部分,主要针对于OLAP场景,为业务方提供稳定高效的查询服务。在业务场景下,实时事件流上报可能会在不同的日志,以不同的格式、途径写入到clickhouse。在之前的使用中,通过查询多个日志表join实现多个指标的整合。用传统JOIN方式,我们遇到如下困难: 1.每个查询会有非常长的代码,有的甚至1500行、2000行sql,使用和理解上特别痛苦; 2.性能上无法满足业务诉求,日志量大会爆内存不足; 如何将这些数据进行整合,以ClickHouse宽表的方式呈现给上层使用,用户可以在一张表中查到所需的所有指标,避免提供多表带来的代码复杂度和性能开销问题?本文将重点介绍如何通过物化视图有效解决上述场景的问题。在介绍之前,先铺垫一下物化视图的简单使用,包括如何创建,如何增加维度和指标,如何结合字典增维等场景。

准备工作

很多情况下,没有场景和数据,就很难感同身受的去了解整个过程,所以在写这篇文章前,利用python的Faker库先生成一些模拟数据,模拟真实场景,以数据入手,来介绍关于物化视图的一些使用经验。环境:wsl单节点 centos7 版本:21.3.12.2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文宇肃然

精神和物质鼓励你选一个吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值