ClickHouse在手淘流量分析业务实践 (clickhouse)

ClickHouse在手淘流量分析业务实践 (clickhouse)

流量分析与业务背景

1. 流量分析

首先,流量分析到底是什么? 从最基本的角度来说流量分析就是底层的数据模型加上指标体系。

底层数据模型:

底层数据模型是把不同的用户行为数据,先放到一个最基本的叫做“事件”的数据模型中,这是一个单事件的数据模型。与此单个事件数据模型的上一层,形成一个路径的实现模型,可以把一些数据,比如一些流量数据或者一些业务内部数据同交易数据做关联。在此基础上,可以做规定的分析,后续也可以做更多的不同分析。既可以从企业整体来看,也可以从单个业务着手,例如:淘宝有很多个行业,可以从行业视角来分析数据;淘宝有许多新用户和老用户,可以从用户角度来分析数据。所以,一旦有了这个底层数据后, 我们用很多不同的方法来分析这些数据,每一种分析方法产出的指标其实是一样的。

指标体系:

我们通常用以下四种指标来分析数据:

由于业务的复杂度,我们会理解这些不同的数据,并且按照不同的维度来做切分和汇总。在大数据背景下,很多东西和 ClickHouse 自有技术是密切相关的,这也是为什么最终选择了 ClickHouse 做我们的技术方案。

通常我们在底层数据模型的基础上创建一些指标体系,由于我们拥有很多业务方以及众多的用户,所以需要非常灵活的切分这些数据模型和指标体系,从而为每个个体提供对他本人最有价值的指标分析功能。

2. 全域消费者互动与触达

从业务角度来看,现在的全域消费者都在做什么?消费者可以在抖音、小红书或者淘宝店铺搜索一件商品,与此同时消费者也可以从其他网站继续浏览该商品,并且有可能从多个渠道来购买该商品,这就形成了一个网状型的路径。这就存在一个很大的问题,就是按照这个路径,数据复杂度会变得非常高,在没有大数据或者很多数据量的情况下,很难回答消费者到底浏览了此商品多少次,最后在哪购买的。

对广告主而言,需要投入多少广告,才能让消费者记住或者购买这件商品。同样的,现在广告投放渠道多种多样,比如说微信、抖音;哪个投放渠道成本最低,哪个渠道能达到最高的投入产出比,是大部分广告主需要关注的问题。因为,目前的现状是流量成本确实比较高,如果能降低获客成本,并且提高转化率,就为其在竞争上提供了很大的优势。比如说一个企业,可以通过众多的渠道通过更低的价格来获取更多的用户,获取用户之后,就可以吸引更多的电商入驻,或者更多的商家入驻, 通过卖更多的货,从而形成一个很好的闭环。在开通电商业务前,至少需要考虑是否在微信,抖音,淘宝,或者其他地方深耕某一渠道,当面临非常复杂的选择时来决定到底做哪个渠道,卖什么商品。

3. 流量分析的难题

从产品角度分析后,我们发现如下几个问题:

4. 问题思考

针对这些难点,我们做了一些思考:

"大数据"带来的难题

接下来介绍的,就是大数据以及淘宝流量数据带来的一些问题:

技术选型与产品考虑

1. 计算 &存储成本

关于计算存储成本,ClickHouse 有非常高的数据压缩比例,其本身就是一个列的数据库,在这里着重介绍一些 ClickHouse 比较有效的功能:

Data Compression:Encoding 本身具有很多数据,并且支持 ClickHouse 做出来的 Unicode,例如:Delta,delta 其本质就是时间差,在很多事件中如果使用 date encoding,通常可以省很多时间,可以在后续做一些优化。另外就是 lowcardinality,假设其有一个 string,但是这个 string 变得不会太大,通过使用这种 encoding 可以减少它的查询和存储的时间。然后还有很多类似 date-time function 的方式,比如 yyyydd 格式的时间,其通常会把一些时间的 function 事先压缩好,允许在计算的时候,做许多优化。

Support for Approximated Calculations:ClickHouse 其实是支持多种 HL 算法优化的:比如准确度和查询时间,假设业务方在查询结果上能接受百分之一的不准确,那么 ClickHouse 可以在三到五秒内得出结果,我们认为这是个合理的过程。因为在很多时候,有些 BI 是做一种探索性分析的,而在做探索性分析时,假如要考察红袜和蓝袜哪个更受市场欢迎,如果两种品类的偏差只有百分之一,也没有达到一个绝对性的结论证明红袜比蓝袜卖的好,鉴于这种情况,我们用 HL 算法来支持用户体验,是值得的。如果真需要一个精准的数据,可以通过 uniq,uniqexact 来算出一个精准的数据,通常情况下,uniq 能直接得出很好的结果,会得到一个很好的体验。

Disk Srorage of>

2. Pipeline,HA,时效性

Data Replication and>

Real-time>

3. 查询性能 &灵活性

接下来就是在做查询性能和灵活性时,采用的一些方法:

高峰:

灵活性:

针对灵活性有以下几个功能:

4. 产品考虑

最后,需要从产品方面考虑选择的技术,我需要做什么?


原文链接:ClickHouse在手淘流量分析业务实践

声明:本文来自用户分享和网络收集,仅供学习与参考,测试请备份。