备案 控制台
开发者社区 大数据与机器学习 实时数仓 Hologres 文章 正文

Flink+Hologres实时数仓在Lazada的建设及应用

简介: 本文介绍Flink+Hologres实时数仓在Lazada的建设及应用。

Lazada是阿里旗下的综合电商平台,包含Marketplace、LazMall、跨境等多种商业模式,通过自建物流网络与推出LazPay不断升级东南亚电商的基础设施。

la1.png

1. Lazada数据体系和架构

阿里巴巴淘系有关大数据领域的建设已经有将近20年的打磨,目前是非常成熟的体系了。当前Lazada数据体系与淘系数据体系非常相似,主要分为六个部分:数据源、数据集成、数据建模与计算、数据聚合与集市、数据服务、数据应用。

数据集成主要依靠cdp和datahub系统,数据建模分为离线和实时两部分,其中离线模块基于 MaxCompute ,实时模块基于 Flink 平台实现了实时数仓。在数据聚合层,2020年后逐渐使用Hologres统一替换了此前比较繁杂的数据结果层与数据计算层中间件,通过Hologres提供OLAP查询分析、数据服务和ADS即席查询作用,最后统一对接上层应用。

la2.png

下面将会分享如何基于上诉的数据体系架构支3撑Lazada如大促营销、A/B Test等多个应用场景。


1.1 场景一:融合实时计算的大促营销运营手段升级

大促是电商常见且非常重要的场景,我们期望能够通过实时数据和实时技术赋能大促或改变整个业务形态。

1.1.1 大促营销的三个阶段

分别是促前、促中与促后:

  • 促前包括各种准备工作,比如招商、选品、会场页面搭建,是一些比较离线或长周期的动作;
  • 促中阶段需要预热蓄,为加购、流量分发以及动态调控做准备,此阶段多为实时决策与实时调控,需要实时数据作为支撑;
  • 促后需要进行业务复盘与数据分析、数据PR等。


为了支撑业务侧的实时决策与实时调控,需要对原先的离线数据架构进行改造。因此,我们利用 Flink+ Hologres将数据链路全部进行实时化、体系化升级,利用 Hologres 的OLAP 查询能力,能够在大促当天支持业务做实时分析,业务可以根据业务诉求,比如目标人群覆盖不够,GMV达成不足时,就能在极短时间内进行快速查询与分析,然后做下一步的运营策略,如圈选优惠券发放的目标人群,同时也能实时检测流量、权益等数据,方便运营动态调整策略。

la3.png


以Lazada大促场景下用户实时权限动态调控为例,来介绍具体的数据流转链路和数据加工过程。

la4.png

大促发放用户优惠券需要讲究策略与节奏以及圈选的目标人群,需要考虑给哪些人发券、发完券之后用户是否领取了优惠券、领取之后有否使用等问题都会影响大促节奏的调控。于是在发券之前,我们需要了解,现在用户是否有券、券的额度是多少等实时数据信息。基于这些实时数据,业务开发人员结合更多的数据资产、用户本身的购买力、消费习惯等信息形成目标人群锁定,并在大促期间给出实时反馈。


1.1.2 在后端的具体实现

  • 从 DataHub 消息中间件消费用户的实时领取与使用券等数据。同时因为大促周期长,需要将用户历史状态数据也一并进行计算,因此还会将离线 MaxCompute 表作为初始化表,在一个Flink 任务里进行实时与离线两种不同数据的 source 消费。
  • 数据消费完之后,一方面会将数据写进 DataHub 消息中间件,推送给下游营销系统直接消费与使用;另外会将数据存放到 Hologres,为业务人员提供实时 OLAP 分析的数据指标与数据标签。
  • 因为实时计算的仅是用户使用券的金额数据,数据不全面,因为还会将离线MaxCompute用户资产数据同步至Hologres,这样就可以通过Hologres既能够对用户购买力、消费习惯与偏好类目等基础性数据资产类数据做分析,同时也能与大促中的实时变化交易与权益变化数据做关联查询,快速锁定不同业务需要的目标人群。


1.1.3 方案优势

  • 流批一体:使用Flink计算引擎同时消费实时与离线两种不同数据源,实现了流批体实时计算;能够将用户历史累计权益数据结合实时变化权益数据进行实时计算,得到用户全状态的权益领用及实时数据
  • 实时与离线混合 OLAP 分析:在 Hologres 计算引擎里存有离线数据,比如存储一些已经计算好的离线标签数据,同时线上实时变化的状态类数据也同时写入Hologres。因此,Hologres里会有全量状态与非常大范围用户的整体数据,除了能够观测到当前状态,也能够对历史行为与表现进行综合性的分析。

通过该方案,营销活动系统从原先的离线化状态成功过渡到可调控、可决策、可落地的实时系统。实现业务在大促场景中动态调整运营策略与运营动作,助力业务的精细化运营。


1.2 场景二:Hologres在Lazada LAB平台的使用

Lazada LAB实验平台累计了万级的实验数量,实验数量排名处于 top 5 水平,支持百级子业务阈,千级月实验人数。为产品、运营、业务决策者等提供多方位的数据驱动实验方案和商业决策。

la5.png


1.2.1 LAB平台的架构的三个层次

从下至上分别是数据模块、系统模块和应用模块:

  • 数据模块:主要存储各类实验指标,包括流量指标、行为指标、用户指标、商家指标等各类数据
  • 系统模块:系统模块主要包括查询引擎、指标管理、维度管理、异常告警等功能
  • 应用模块:主要是数据对上层的应用,包括实验Dashboard、指标分析、OLAP分析,实验监控等


在数据模块层利用的数据存储引擎已经全部切换为Hologres 。实验里通用的数据指标会进行提前预计算再写入Hologres,以减轻Hologres 的计算压力。另外,会将明细层数据与轻度汇总层数据通过实时计算方式写到 Hologres里,以支撑在A/B实验场景里自定义与灵活快速分析所需的能力。最后,将各种实验维度数据同步到 Hologres 进行自定义分析与查询使用。

下图为LAB平台实验的数据流加工过程:

la6.png

数据源是常见的业务Binlog 数据,以及日志采集、搜推广日志数据等,然后同步到分别同步到离线数仓和实时数仓:

  • 离线数仓会进行数据加工,然后写到Hologres。
  • 实时数仓会通过Flink实时计算与操作,将实时的明细层与汇总层数据同步到 Hologres 。
  • 在Hologres 建立了一套完整的实时数仓,有实时的 DWD 明细层, ADS/DWS层存放计算好的离线数据,以及DIM维度数据。其上还建设了大量逻辑视图与部分物化视图,因为实验场景中,查询条件或查询模式对于表的使用非常固定,可能需要通过逻辑视图与物化视图将经常使用的查询方式与指标固化,增加前端的实验性能。

以上架构利用 Hologres 强大的查询与数据写入导出能力,提升了整个 LAB平台的实验速率与效率。

la7.png

同时也为了提高AB实现的计算效率,我们也针对Hologres做了较多的性能优化,下面也分享一些实践经验。

1.2.2 在优化方面主要两大方向

1.2.2.1 存储优化:确保数据合理均匀的分布

  • 合理的设置表存储属性:KV点查使用行存,OLAP查询使用列存
  • 合理的设置分区表:数据大于1亿条建议设置分区表,同时分区表选择时,一定要有分布键。
  • 合理的设置distribution key:join key设置为distribution key,提升local join的能力
  • Table Group选择与Shard分配:一般选择默认的TG,但是实例规格较大时,设置多个TG与不同的shard count,以保证资源的充分利用。同时也要结合维表数据量与业务场景不断实践与摸索。

1.2.2.2 计算优化:降低计算复杂度,提高查询性能

  • 设置主键:保持数据的唯一性
  • 用近似计算APPROX_COUNT_DISTINCT替代count distinct去重函数,效率会更高。另外Hologres 1.3版本支持uniq精确去重,效率也更高
  • 设置聚簇索引:对于范围过滤查询,设置聚簇索引clustering key,减少文件扫描
  • 设置分段键:对于时间范围查询,设置分段键segment key,直接命中文件,提升查询性能
  • 设置位图索引:对于等值查询,设置位图bitmap,命中文件内的block
  • 优化字典编码:为字符串比较的字段设置dictionary,减少其余不必要text字段的dictionary设置,从而减少数据编码、解码开销。

la8.png

2. 总结

lazada数据技术发展经历了从以MaxCompute为主的离线数仓(主要支撑T+1更新、批量计算等)实现了离线数仓的基础体系建设),到Flink 问世后的实时数仓,支撑了实时更新,流批一体等多个业务场景。随着 Hologres云原生引擎的诞生,我们已经可以窥到湖仓一体可能的实现和使用方式,并以此支撑异构多元智能计算,

未来我们期望能够利用 Hologres服务与分析一体化的能力,并结合 AI 处理,在一个平台、一个组件上快速完成数据加工,将业务价值通过技术平台高效释放。

牛顿说,站在巨人肩膀上能让我们看得更远。而我们也坚信,有阿里云这样一个巨人,我们能够将数据业务价值发挥得更加透彻、更加淋漓尽致。

la9.png


了解 Hologres

合集.png

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
May-Hologres
目录
相关文章
三分钟热度的鱼
|
5天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之如何将Hologres字段转换为小写
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
三分钟热度的鱼
17 1
三分钟热度的鱼
|
5天前
|
关系型数据库 MySQL Java
实时计算 Flink版产品使用合集之同步MySQL数据到Hologres时,配置线程池的大小该考虑哪些
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
三分钟热度的鱼
17 1
三分钟热度的鱼
|
5天前
|
分布式计算 数据处理 MaxCompute
实时计算 Flink版产品使用合集之进行实时处理时,是否需要将所有数据导入到Hologres
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
三分钟热度的鱼
16 1
听白
|
9天前
|
SQL 运维 关系型数据库
Flink+Hologres搭建实时数仓
该方案利用Flink和Hologres构建实时数仓,解决传统数仓中间层查询困难、数据不可复用和架构冗余的问题。Flink负责数据源接入和加工,将数据写入Hologres的ODS、DWD和DWS层。Hologres支持高效更新和查询,各层数据可直接服务,简化架构,提高效率。方案具备高性能(Flink与Hologres深度集成,支持实时写入查询)、高可用(主从实例确保服务稳定)和低运维(全链路Flink SQL,减少运维成本)优势。适用于实时报表、推荐系统和业务监控等场景。
听白
30 4
芯在这
|
10天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之用CTAS从mysql同步数据到hologres,改了字段长度,报错提示需要全部重新同步如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
芯在这
53 8
芯在这
|
10天前
|
安全 Java 数据处理
实时计算 Flink版操作报错合集之hologres里报错:找不到字段如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
芯在这
23 4
灵杰开发者
|
13天前
|
SQL 运维 Cloud Native
基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路
本文讲述了其数据中台在传统数仓技术框架下做的一系列努力后,跨进 FlinkCDC 结合 OceanBase 的实时数仓演进过程。
灵杰开发者
235 2
 基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路
实时数仓Hologres团队
|
13天前
|
存储 SQL 分布式计算
Hologres RoaringBitmap在Lazada选品平台的最佳实践
Lazada选品平台包含全网商家、商品的圈选,通过Hologres RoaringBitmap能力帮助业务突破选品池20w大小限制,6000+选品池调度完成由12h下降至1h,单个选品池调度时间由90s下降至2s。
实时数仓Hologres团队
241 1
灵杰开发者
|
13天前
|
存储 消息中间件 监控
基于 Hologres+Flink 的曹操出行实时数仓建设
本文主要介绍曹操出行实时计算负责人林震,基于 Hologres+Flink 的曹操出行实时数仓建设的解决方案分享。
灵杰开发者
109441 1
基于 Hologres+Flink 的曹操出行实时数仓建设
Star时光
|
13天前
|
SQL 关系型数据库 MySQL
使用CTAS 把mysql 表同步数据 到hologres ,Flink有什么参数可以使hologres 的字段都小写吗?
使用CTAS 把mysql 表同步数据 到hologres ,Flink有什么参数可以使hologres 的字段都小写吗?
Star时光
320 0
大数据与机器学习

实时数仓 Hologres

热门文章

最新文章

  • 1
    Hologres RoaringBitmap在Lazada选品平台的最佳实践
  • 2
    实时数仓 Hologres产品使用合集之在执行SQL语句时,在插入语句后面直接跟上了insert,insert操作就会报错如何解决
  • 3
    Hologres揭秘:深度解析高效率分布式查询引擎
  • 4
    实时数仓 Hologres产品使用合集之有没有MySQL那样的AUTOINCREMENT字段来实现自增ID功能
  • 5
    10亿+/秒!看阿里如何搞定实时数仓高吞吐实时写入与更新
  • 6
    Hologres V2.1版本发布,新增计算组实例构建高可用实时数仓
  • 7
    技术原理,Hologres Binlog技术原理揭秘
  • 8
    数仓架构“瘦身”,Hologres 5000CU时免费试用
  • 9
    曹操出行基于Hologres+Flink的实时数仓建设
  • 10
    实时湖仓增强,Hologres + Flink构建企业级实时数仓
  • 1
    实时数仓 Hologres产品使用合集之查询数据的入库时间该怎么操作
    67
  • 2
    实时数仓 Hologres产品使用合集之有没有MySQL那样的AUTOINCREMENT字段来实现自增ID功能
    100
  • 3
    实时数仓 Hologres产品使用合集之写入是否支持分区自动路由功能
    41
  • 4
    实时数仓 Hologres产品使用合集之可以直接接入接口吗
    76
  • 5
    实时数仓 Hologres产品使用合集之在执行SQL语句时,在插入语句后面直接跟上了insert,insert操作就会报错如何解决
    100
  • 6
    实时数仓 Hologres产品使用合集之建表字符串默认都是bitmap索引,如果字符串的是高基数的,会不会有影响
    71
  • 7
    实时数仓 Hologres产品使用合集之在主键重复写入时无法保证保留最后一条记录如何解决
    48
  • 8
    实时数仓 Hologres产品使用合集之查询分区表的生命周期(即之前设置的'auto_partitioning.num_retention'值)的SQL语句,可以使用什么查询
    31
  • 9
    实时数仓 Hologres产品使用合集之如果在映射中台表的时候ds被勾选为了字段,可以在分区信息那一页中直接写入 PARTITIONED BY (ds) 吗
    32
  • 10
    实时数仓 Hologres产品使用合集之ologres holostudio为什么不支持max_pt('table')取最大分区这个方法
    46
  • 相关产品

  • 实时数仓 Hologres
    文档详情 产品详情
  • 相关课程

    更多
  • 阿里云实时数仓实战 - 项目介绍及架构设计
  • 阿里云实时数仓实战 - 数据生成及采集
  • 阿里云实时数仓实战 - 用户行为数仓搭建
  • 阿里云实时数仓实战 - 作业调度与数据可视化
  • 大数据实时计算框架Spark快速入门
  • 阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
  • 相关电子书

    更多
  • 新氧云原生全栈数仓最佳实践
  • 离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进
  • 企业大数据平台下数仓架构
  • 相关实验场景

    更多
  • 基于DTS构建一站式实时数据服务
  • 基于Hologres+PAI+计算巢,5分钟搭建企业级AI问答知识库
  • 基于Hologres+Flink搭建GitHub实时数据大屏
  • 基于Flink+Tair搭建实时监控大屏
  • AnalyticDB MySQL游戏行业数据分析实践
  • AnalyticDB MySQL海量数据秒级分析体验
  • 下一篇
    2024年阿里云免费云服务器及学生云服务器申请教程参考

    深圳SEO优化公司青岛品牌网站设计报价长沙百搜标王哪家好毕节百度网站优化哪家好临沧优化哪家好海东网络推广哪家好孝感模板网站建设张家口营销型网站建设哪家好菏泽外贸网站设计固原网站优化推广哪家好呼和浩特设计网站报价北京品牌网站设计哪家好临沧百度网站优化推荐西安百姓网标王推广多少钱中卫阿里店铺运营多少钱张掖百度网站优化排名哪家好丽江网站推广方案价格曲靖企业网站制作报价吉林seo排名价格六安网站排名优化松岗英文网站建设推荐来宾网站优化排名舟山关键词按天收费报价铜仁企业网站制作多少钱温州百度seo推荐菏泽seo排名保定模板推广苏州网站开发价格平顶山seo推荐佛山推广网站推荐抚州百度网站优化排名多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化