AnalyticDB是怎样支撑数据银行超大规模低成本实时分析

  

这篇文章将为大家详细讲解有关AnalyticDB是怎样支撑数据银行超大规模低成本实时分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

前言

数据银行是一款品牌消费者运营的商业数据产品,由于其核心分析能力需要在海量数据上实现任意维度自由分析和响应时间上的强需求,我们大规模使用AnalyticDB作为底层的分析引擎,最终以较低的成本,出色的性能,支撑了上万品牌商大促期间每天百万级的OLAP查询。

当前数据银行在AnalyticDB中存储了约几十万亿条数据,占用存储空间约1.6P,查询平均响应时间在5秒以内。

数据银行业务介绍

数据银行作为消费者运营的商业数据产品,提供了链路流转分析、人群圈选、人群画像等众多数据能力。

链路流转分析

AIPL是数据银行的特有指标,用于衡量品牌和消费者关系的指标(AIPL是4个阶段的缩写,分别是A认知、I兴趣、P购买、L忠诚),链路流转分析用于获取品牌任意两天消费者AIPL关系的变化(如下图,某品牌在某个类目下,从去年双十一到今年双十一AIPL的变化,非真实数据)。

AnalyticDB是怎样支撑数据银行超大规模低成本实时分析

在这个场景,用户可以选择近540天内的任意两个日期,加上品牌和类目这两个维度,用户可能的输入情况在百万亿级别

人群画像

人群画像是消费者运营产品的核心能力,数据银行除了可以针对用户沉淀的具体人群进行画像操作,还可以对链路流转的人群进行画像以帮助品牌分析消费者关系变化的原因(如下图,某品牌去年双十一是购买状态但今年双十一是流失状态的人群画像,非真实数据)。

AnalyticDB是怎样支撑数据银行超大规模低成本实时分析

在这个场景,数据银行为用户提供了200多个标签,大部分为行业相关,每次人群画像只会涉及到部分标签,如果为人群预先计算所有标签会导致资源的极大浪费。

人群圈选计算人数/人群圈选

人群圈选是消费者运营产品的核心能力,相比大部分消费者运营产品限制用户只能使用标签数据,数据银行人群圈选(分钟级)可以让用户使用标签、触点(可以理解为消费者行为,如购买、搜索、看直播等)等各类数据,同时用户还可以即时查看圈选条件下消费者的数量(秒级)。

AnalyticDB是怎样支撑数据银行超大规模低成本实时分析

在这个场景,各类圈选条件可以通过交并差自由组合,同时部分圈选条件如购买金额是让用户填写的数值,无法枚举。

数据银行为什么选择AnalyticDB

普通的分析业务,如果对响应时间没有要求,离线计算(Hadoop/Hive/Maxcompute)几乎可以满足所有数据分析的需要,但是从用户在线响应的角度出发,高频使用的功能对响应时间都会有强需求。

例如:用户决策需要大量人群画像的对比,而人群的选择存在一定的依赖关系,下一个画像人群的选择取决于前一个人群画像的结果。如果采用离线计算,不仅会大幅度拉长用户的决策时间,还会打断用户分析思维的连续性,对用户体验产生较大的影响。

解决响应时间问题一般有两种思路:

  1. 预计算,把用户所有可选维度组合下的指标先离线计算出来,用户在分析时,系统直接去数据库取结果。

  2. OLAP在线计算,把轻度聚合的数据(保留所有用户可选维度)存放在MPP引擎中,根据用户提交的条件,即时计算出指标。

这两种思路各有特点,预计算需要考虑维度爆炸、离线预计算无法在有限时间内完成、或者是需求变化导致预先计算的结果没有被使用导致的资源浪费等一系列问题。而OLAP能够提任意维度的自由计算,无需预先计算,但则也需要考虑MPP引擎的存储成本、容量和计算性能等问题。

综合来看,作为面向消费者运营的数据产品,对响应时间有强需求,不适合使用预计算的情况;同时因为数据量巨大(几十万亿、PB级别),整体的成本也是一个重要的考虑点。

AnalyticDB是怎样支撑数据银行超大规模低成本实时分析