Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏

简介: 本篇将重点介绍Hologres在阿里巴巴淘宝营销活动分析场景的最佳实践,揭秘Flink+Hologres流批一体首次落地阿里双11营销分析大屏背后的技术考验。

概要:刚刚结束的2020天猫双11中,MaxCompute交互式分析(下称Hologres)+实时计算Flink搭建的云原生实时数仓首次在核心数据场景落地,为大数据平台创下一项新纪录。借此之际,我们将陆续推出云原生实时数仓双11实战系列内容,本篇将重点介绍Hologres在阿里巴巴淘宝营销活动分析场景的最佳实践,揭秘Flink+Hologres流批一体首次落地阿里双11营销分析大屏背后的技术考验。

一、背景介绍

在淘系业务运营中,大促是业务运营和用户增长中非常重要的场景,而营销活动分析产品作为大促期间用来服务决策、指导运营的核心数据产品,覆盖活动前、中、后全链路的分析,其中需要满足不同角色小二在不同阶段下,对数据时效性和数据灵活性的不同要求,整体产品大图如下:

老版营销活动分析是基于常规的实时离线数据体系&FW的产品架构,在之前的各类大大小小的活动中,也暴露了比较多的问题,其中核心的问题可以归纳为三类:

  • 实时和离线数据不一致:相同口径的数据实时和离线不一致,包括数据逻辑口径不统一、数据接口不统一,由于实时和离线数据开发割裂(开发人员和接口),不仅仅增加了整体数据的运维成本,同时产品搭建层面的负担也大幅度提升。
  • 维护成本高:随着业务量的增加,原有数据库不能快速、灵活的支持复杂且多变的应用场景。常规的Hbase、Mysql、ADB数据库,都只能单点满足海量数据、高并发存储点查、OLAP查询,因此面对极其复杂的业务,需要依赖多个数据库,整体维护成本和依赖成本会非常高。
  • 扩展性差:在FW框架下的产品搭建逻辑复杂度高、可扩展性都比较差,在活动期间维护的成本非常大

因此,如何能够快速应对频繁变动的业务诉求,以及更高效的处理活动期间的数据问题变得越来越重要,升级的新一代营销活动分析架构因而需要满足以下几个优点:
1. 实时数仓与离线数仓能够模型统一(实时离线逻辑统一)、接口统一(数据存储、取数统一),真正做到流批一体
2. 需要有更强大的数仓,既能够满足海量数据的并发写入查询,还能够满足业务的及时查询功能
3. 简化现有的产品搭建逻辑、降低产品实现复杂度

基于上诉背景,我们需要重构当前架构并寻找另外的替代产品来解决业务痛点。经过长时间的调用和尝试,最终我们选择了基于实时计算Flink+Hologres+FBI(阿里内部的一款可视化分析工具)的技术方案来实现天猫营销活动分析的架构重构。

二、 流批一体技术方案

通过深度剖析业务对数据的要求,以及多方位数据模型探索和数仓的调研,最终确定了营销活动分析产品重构的整体技术框架,如下图所示,其中的核心要点有:

  • 通过流批一体架构升级,实现了流批SQL逻辑&计算引擎层面统一
  • 通过Hologres实现了数据存储和查询的统一
  • 利用FBI产品能力,在降低搭建成本的同时满足业务的高灵活性,同时满足不同角色对于报表的需求


**
下面,我们将详细介绍整个技术方案中核心的几大技术方案:流批一体、Hologres、FBI

1. 流批一体技术框架

传统数仓架构图如下图所示,传统数仓架构核心问题:

  • 流批间的存储层割裂,集群、表、字段都是分开的,导致应用层对接时需要写不同的取数逻辑。
  • 流批间的处理逻辑不能复用,SQL标准不一样,计算引擎不一样,导致实时和离线需要分别开发,其实很多情况下,逻辑大同小异,但系统之前不能灵活转换,导致工作量重复
  • 计算层集群分开,实时和离线对资源的使用时间段高峰不一样,导致资源利用率不够高,波峰波谷非常明显

image.png
流批一体数仓架构图如下图所示,升级后的架构主要有以下核心点需要关注:

  • 首先,数仓DWD层虽然在存储介质上不同,但需要保证数据模型的等价,然后进行逻辑表封装(一个逻辑表映射两个物理表,即实时DWD和离线DWD),数据计算代码的撰写都是基于该逻辑表开发
  • 其次,基于逻辑表的代码开发、流、批计算模式的个性化配置、以及不同的调度策略等,需要有开发平台(Dataphin流批统一开发平台)作为支撑,形成便捷的开发、运维一体化
  • 最后,基于OneData规范的存储层统一,不仅是模型规范统一,还是存储介质的统一,做到了无缝的衔接

今年双11,实时计算Flink处理的流量洪峰创纪录地达到了每秒40亿条的记录,数据体量也达到了惊人的每秒7TB,基于Flink的流批一体数据应用在营销活动分析场景中崭露头角,并在稳定性、性能和效率方面都经受住了严苛的生产考验
整体Flink流和Flink batch任务在活动期间都表现了极强的稳定性,全程0链路容量、机器单点、网络带宽等问题的发生

2. Hologres流批一体落地

流批一体数据架构实现了整体的数据层面的统一,还需要选用一款产品让整体的存储统一,这款产品需要即支持高并发写入,又能够满足及时查询,同时还能够支持OLAP分析。

在老版本的架构中每个页面模块会涉及到一个或多个数据库的数据查询,如Mysql、Hbase、ADB3.0「老版本HybridDB」等。由于Hbase的高并发写入、高性能点查等特性,所以大多数实时数据就会放在Hbase中;而由于Mysql表管理便捷、查询简易等好处,维表数据、离线数据通常会选择存放在其中;另外,产品的一些模块涉及到的数据,具有数据量小、维度多等特征「如营销玩法数据」,则会选择ADB作为OLAP多维分析的数据库。如此,就会存在两个痛点:实时数据与离线数据的割裂、多数据库多实例的杂乱管理。
新版营销活动分析产品的建设,一个目标是要做到存储统一,降低运维成本和提高研发效能;另外一个目标是高性能、高稳定、低成本。

我们通过与多方位的产品对标之后,选用了Hologres作为整个营销活动分析的统一产品。Hologres作为一款兼容PostgreSQL 11协议的一站式实时数仓,与大数据生态无缝打通,支持PB级数据高并发、低延时的分析处理,可以轻松而经济地使用现有BI工具对数据进行多维分析透视和业务探索,在这样复杂的业务场景中Hologres的优势就表现得极为突出了。

通过对整体营销活动分析个模块的深度分析,以及结合业务侧对数据时效性的要求,整体将营销活动分析的几大模块的数据制定了具体的实时链路方案:

  • 活动直播、预售、加购、流量监控等核心模块,我们选用了Hologres的实时点查能力,
  • 面对复杂多变的营销玩法场景,我们选用了Hologres的OLAP即时查询能力

针对营销活动分析需要的点查能力和OLAP分析能力,天猫营销活动分析分别建了dt-camp和dt-camp-olap库,其中dt_camp点查库由于需要将活动期间的一些历史数据长期存放用来做活动的对比,整体数据量级在近40TB;营销玩法的OLAP库中,存放的是玩法的一些明细数据,整体数据量级在近百TB,由于营销玩法对整体数据的准确度要求非常高,因此没有采用有损精度的查询方式,对整体数仓的查询性能提出了更高的要求。

为了提升Hologres的整体性能,针对营销活动分析数仓主要做了一下几类优化策略:

  1. 设置distribution key:对于count(distinct user_id)的情况将user_id设置为distribution key在hologres中每一个shard做count distinct,避免大量的数据shuffle,大大提升查询性能。
  2. 尽量减少count distinct 次数:通过多层group by 操作转换SQL减少count distinct成本
  3. shard prunning:在一些场景中,查询会指定某个表的pk中的一些key进行查询,如果将这些场景的key组合设置为distribution key,可以在处理查询的时候就确定本次查询会命中那几个shard,减少RPC请求数,对于高QPS场景至关重要
  4. 生成最优的plan:营销活动分析有基于汇总数据的点查或者范围查询,有基于原始数据的OLAP查询,还有单表的聚合之后取topn的查询,对于不同的查询类型,Hologres能够根据收集的统计信息,生成最优的执行计划,保证查询的QPS和Latency
  5. 写入优化:营销活动分析的写入都是基于列存表UPDATE操作,该操作在hologres中会首先根据指定的pk找到对应的uniqueid,然后根据uniqueid找到对应的记录标记删除,然后再查询一条新纪录,这种情况如果能够设置一个递增的segment key,查询的时候就可以根据segment key快速定位到文件,提升根据pk定位到记录的速度,提升写入性能,营销活动分析系统压测时写入峰值可以达到800W/s的更新
  6. 小文件合并:某些写入不是很频繁的表因为一段时间更新的key比较固定,这导致memory table flush的时候是一个比较小的文件,而Hologres默认的compaction策略并没有对这些文件做compaction,导致存在比较多的小文件,通过深入优化compaction参数,增加compaction的频率,减少小文件,对于查询性能有较明显的提升

Hologres在双十一期间表现,点查场景的写入峰值达几十w/s,服务能力几百w/s,OLAP写入峰值400w/s,服务能力500w/s。同时单点查询&OLAP查询几乎都能够满足单条查询小于ms的查询比例高达99.7%以上,因此在整个活动期间,Hologres整体表现非常平稳,能够很好的同时支持快速点查和快速OLAP分析。

3. FBI分析大屏

FBI作为阿里生态内的首选数据可视化平台,即能快速支持搭建各类报表进行数据分析,也能支持多种数据集的快速接入与扩展,还有支持各种分析型数据产品建设的高级功能【产品搭建】。

在FBI产品搭建的核心流程中,可以通过4个核心功能大幅降低搭建成本:

1)实时离线一体的“实时小时分钟模型”,自动实现实时数据的精确趋势和对比
针对营销活动定义的批流一体的底层数据,为了满足用户分析实时数据,实时对比,小时对比的灵活性,FBI抽象出一套实时离线一体的标准数据模型,创建该模型后就可以实现实时数据的精确对比,趋势分析自动路由分钟表,小时趋势直接路由到小时表的能力。
2)FBI原创的FAX函数,极简定义输出各种复杂指标
针对复杂的指标:如通道占比,类目占比,同比贡献度,活动累计成交额,上个版本中均是用sql套sql进行定义,不仅导致SQL长度保障,同时产品的稳定性和可维护性都大大降低。为了解决这类问题,FBI构建了一套易于学习和理解的分析DSL,名为 FAX函数(同比差额、贡献率、活动累计等20+分析函数),简单的一行语句可以定义出营销活动分析中用到的各种复杂指标。
3)通过分析能力配置化和专有逻辑插件化,大幅节约页面构建时间
产品页面构建是一个非常核心的环节,如何节约用户的配置,FBI的方法就是:
a、通用分析能力配置化:对于最常用到的交叉表、活动对比,日期变量传参等分析场景,抽象升级为简单的配置项,即可完成相应的同期对比和同比差额等分析。
b、专有逻辑插件化:对于活动参数,显示隐藏,结果排序等作用于区块的定制能力,可以通过数据插件的方式覆盖。
4、打造沉淀FBI的高保障体系,升级了发布管控,监控预警,变更提示等,支持1-5-10

三、测试端的保驾护航

为了进一步保障营销活动分析产品质量,测试端从明细->汇总->产品端都做了严格的数据比对和校验,同时针对大促的核心数据,进行了全方位的监控

在活动期间测试巡检功能大大提升了主动发现数据问题的能力,以及及时发现核心问题的能力,大大的提升了活动期间整个数据产品的质量和稳定性

四、业务反馈&价值

整个双十一期间,基于实时计算Flink+Hologres流批一体的营销活动分析产品不仅支持了天猫事业群上千+小二的人均上百PV高频访问,更实现了0 P1/P2故障的目标,同时整个产品在活动期间表现了相比往年更有优势的几大方面:

  • 丰富:实时数据在营销活动分析产品中大规模铺开,核心维度可以down到活动商品、商家标签分层等多个维度,同时加购和预售都新增了商家、商品维度的实时数据,更加友好的支持了业务侧进行商家的BD
  • 稳定:基于Hologres持续高稳定的输出,整体双十一期间不论是实时数据写入、还是数据的读取都表现出了极强的稳定性;同时工程端实时监控用户访问和数据响应效率,实时分析解决业务问题;产品巡检涵盖了产品的核心数据,进一步的保障了整个产品的稳定性
  • 高效:流批技术的应用,以及Hologres的统一对接,不仅大幅度的提升了活动期间的需求接入效率(今年双十一期间整体需求承接能力是去年的3倍),同时整体的提升了问题反馈和解决的时效(相比以往活动提升了3-4倍)

五、未来展望

虽然已经经历了一次大促大考验,但是技术的探索永无止境,我们需要不断的完善来应对更加复杂的业务场景:
1)Dataphin流批一体的产品进一步完善,减少人工干预成本,同时进一步保证数据质量
2)Hologres资源隔离,读写资源隔离,更好地保证查询的SLA;打通Hologres与MaxCompute,支持元数据的互通,为产品元数据提供更高的保障;动态扩容,能够灵活应对峰值及日常的业务需要。
3)FBI产品工具,能够提升产品版本管理功能,同一页面支持多人编辑不覆盖,更加高效的支持产品搭建


原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Service Mesh微服务熔断、限流的骚操作

在微服务架构中,随着服务调用链路变长,为了防止出现级联雪崩,在微服务治理体系中,熔断、限流作为服务自我保护的重要机制,是确保微服务架构稳定运行的关键手段之一。那么什么是熔断、限流?在传统Spring Clo…

pca主成分分析用matlab实现,PCA (主成分分析)详解 (写给初学者) 结合matlab

一、简介PCA(Principal Components Analysis)即主成分分析,是图像处理中经常用到的降维方法,大家知道,我们在处理有关数字图像处理方面的问题时,比如经常用的图像的查询问题,在一个几万或者几百万甚至更大的数据库中查…

微服务最佳实践:MSE 微服务引擎

简介: 微服务引擎 MSE(Microservice Engine)是一个面向业界主流开源微服务框架 Spring Cloud 和 Dubbo 的一站式微服务平台。其由四个主要部分组成:微服务治理中心、微服务注册中心、微服务配置中心、微服务网关。 MSE 是什么 微…

异地多活之企业架构案例

简介: 异地多活之企业架构案例 1. 前言 多活容灾 MSHA(Multi-Site High Availability),是在阿⾥巴巴电商业务环境演进出来的多活容灾架构解决⽅案,可以将业务恢复和故障恢复解耦,有基于灵活的规则调度、跨…

WAIC|高精准、低成本,九章云极DataCanvas突破AutoML难题

2021 年世界人工智能大会(WAIC)于 7 月 8 日 在上海世博中心拉开帷幕。九章云极DataCanvas董事长方磊受邀参加由世界人工智能大会组委会主办、机器之心承办的“2021 WAICAI开发者论坛”,并发表“Hypernets:自动化机器学习的基础框…

matlab样条插值如何用,三次样条插值matlab实现

%三次样条差值-matlab通用程序 - zhangxiaolu2015的专栏 - CSDN博客 https://blog.csdn.net/zha%【图文】三次样条插值算法详解_百度文库 https://wenku.baidu.com/view/14423f2e1711cc7931b716clcclearxinput(请按照格式[x1,x2,x3...]格式输入yf(x)函数已知点的横坐标xi); %三…

在阿里淘系6个月能有哪些收获成长?

本文作者:刘博文(Berwin),花名“玖五”,畅销书《深入浅出Vue.js》作者、知名技术博主、讲师、阿里巴巴淘系技术部前端技术专家,现负责淘系618、双11等超大型营销活动主会场的终端渲染架构。 回想起年初刚来…

matlab 向前欧拉公式,向前欧拉公式在Matlab解微分方程初值解的问题

向前欧拉公式在Matlab解微分方程初值解的问题0fuqilin1202013.07.04浏览527次分享举报用向前欧拉公式(10.8)求解初值问题,dy/dx-3x8x-7,y(0)1,分别取n10,n100,并将计算结果与精确解作比较,写出在每个子区间[xk,xk1]上的局部截断误差公式&…

我在阿里巴巴做 Serverless 云研发平台

简介: Serverless 云研发平台经过这半年多的蜕变,已经从简单的解决工程链路的平台演进成一个面向研发、上线、运维的全生命周期研发平台,后续要解决的命题会集中在用户低门槛上。 作者 | 林昱(苏河) 技术的成熟度源自大规模的实践&#xff0…

从Gartner报告,看中国数据库崛起

简介: 阿里云,在Gartner公布2020年度全球数据库魔力象限评估结果,作为中国科技公司代表,首次挺进全球数据库第一阵营——领导者(LEADERS)象限,这也是中国数据库40年来首次进入全球顶级数据库行列…

一套存储承载全场景,XSKY星辰天合发布企业级SDS V5系列

编辑 | 宋慧 出品 | CSDN云计算 头图 | XSKY星辰天合V5发布会现场 2021年7月15日,国内数据基础设施技术平台提供商XSKY星辰天合正式发布了企业级软件定义存储V5(以下简称“XSKY SDS V5”)系列产品,通过DATA OS数据操作系统底座升…

首次揭秘云原生Hologres存储引擎

简介: 本文将会首次对外公开介绍Hologres的存储引擎,深度剖析其实现原理和核心技术优势。 概要:刚刚结束的2020天猫双11中,MaxCompute交互式分析(Hologres)实时计算Flink搭建的云原生实时数仓首次在核心数…

什么是 “原型模式” ?

作者:东风玖哥,小灰来源:程序员小灰————— 第二天 —————————————————假如有一天,小灰被外星人抓走了,外星人要拿小灰做实验,想了解小灰在吃得好、睡得好、玩得开心的场景下&#xf…

制造业全链数字化业务转型实践

近日,阿里云Lindorm与Intel、OSIsoft推出了面向工业物联网信息经济(Infonomics)的IT & OT超融合工业数据云解决方案。方案通过云端打通阿里云、Intel的IT技术积累和OSIsoft的OT经验能力,实现对传统技术供需关系的超越&#xf…

从搜索引擎到核心交易数据库,详解阿里云神龙如何支撑双11

简介: 订单峰值58.3万笔/秒,销售额4982亿,阿里云神龙再次成功扛住了全球流量洪峰 2020年的双11,天猫又创造了新的纪录:订单峰值达到创纪录的58.3万笔/秒,销售额达到历史新高4982亿,阿里云神龙再…

云网一体,“湘遇湘融 | 移动云TeaTalk·长沙站 启动倒计时

在企业数字化转型、云服务和国家政策等多重因素驱动下,越来越多的企业、行业和政府机关将业务迁移到云上,单一化的网络连接模式已经不能满足企业“多系统、多场景、多业务”的上云需求,而是要求云和多样化网能力高度协同。中国移动作为运营商…

matlab save txt 乱码,matlab代码或中文复制到word就变成乱码怎么办?

在matlab的edit中编辑的脚本程序复制到word时,注释里面的汉字变为乱码怎么办。下面教你两种解决办法。软件名称:Matlab 7.0.1 R14 SP1 (3CD带序列号)免费版软件大小:1.17GB更新时间:2012-11-03立即下载1、这是我在matlab的edit下面…

EMAS 移动 DevOps 解决方案 —— Mobile DevOps

简介: DevOps这一优秀的软件交付理念在服务端已经有很多相关的实践,那么是否也可以应用到移动端进行交付呢?基于移动端和服务端场景的差异,移动DevOps跟服务端DevOps又有哪些不同和挑战?本文分享阿里云云原生应用研发平…

MongoDB 5.0 来了,原生时序、版本化 API 新特性悉数登场

作者 | 伍杏玲出品 | CSDN云计算(ID:CSDNcloud)据 DB-Engines 数据库最新 7 月流行度排行榜显示,前五名十分稳定:Oracle、MySQL、Microsoft SQL Server、PostgreSQL、MongoDB,其中 MongoDB 是唯一的文档型数…

阿里云Lindorm与Intel、OSIsoft共建IT OT超融合工业数据云

近日,阿里云Lindorm与Intel、OSIsoft推出了面向工业物联网信息经济(Infonomics)的IT & OT超融合工业数据云解决方案。方案通过云端打通阿里云、Intel的IT技术积累和OSIsoft的OT经验能力,实现对传统技术供需关系的超越&#xf…