某智能终端厂商流量商业化项目的云原生大数据平台实践

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 随着流量获取,移动互联网业务成为集团三大战略之一,启动流量商业化项目,包括类似阿里妈妈的流量联盟、帮助广告主更好买量的数字化营销平台以及用户体系等,其中广告检索和广告大数据平台成为支撑整个流量商业化项目的技术基础。

本文作者:仲向远、欧阳楚才


客户从事以手机为核心的智能终端的设计、研发、生产、销售和品牌运营,致力于成为新兴市场消费者喜爱的智能终端产品和移动互联服务提供商。智能终端产品在全球新兴市场有广泛的覆盖和用户基础,通过与国内互联网公司合作推出了众多移动互联网业务,成为全球增长最快的移动媒体渠道。


项目背景

随着流量获取,移动互联网业务成为集团三大战略之一,启动流量商业化项目,包括类似阿里妈妈的流量联盟、帮助广告主更好买量的数字化营销平台以及用户体系等,其中广告检索和广告大数据平台成为支撑整个流量商业化项目的技术基础。


广告检索平台的业务场景包括:

1)将海量广告从广告库中实时同步到检索系统,构建正排索引和倒排索引;

2)承接C端的高并发请求,经过召回层和检索层做多级筛选和排序,从海量广告库中筛选出几百个广告返回给前端,实时性要求高。


广告大数据平台需要聚合各种异构数据源,完成离线和实时数据分析和统计,产出业务报表,生产模型特征等,其中业务报表是是核心业务,它是广告主、平台运营人员进行投放优化、业务决策的依据。


广告检索和广告大数据平台面临的技术挑战主要有:

1、高并发:广告引擎和C端流量对接,请求量大,2022年峰值超过6万QPS。

2、实时性:广告检索结果实时响应(P99 100ms内)、广告索引实时同步和更新(秒级)。

3、业务逻辑复杂:一次广告请求,涉及到多路召回、算法模型打分、竞价排序等复杂的业务流程,策略多,执行链路长。

4、稳定性要求高:广告系统直接跟收入挂钩,广告引擎及计费平台等核心系统稳定性要求很高,可用性至少要做到3个9。

5、大数据存储和计算:随业务发展,推广数量以及扣费订单数量很容易达到千万甚至上亿规模,另外收入报表的分析维度多,单报表可能达到百亿级别的记录数。


技术选型

面临上述快速变化的业务需求和技术挑战,客户摒弃基于开源组件从零开始构建的技术架构方案,期望通过云原生架构,满足整个架构的硬需求和软需求,以便将更多的精力和时间用在业务思考和数据赋能的应用上。


硬需求:检索引擎、离线计算引擎,实时计算引擎,OLAP分析引擎,KV存储,实时数据集成工具,分布式存储系统。

软需求:高并发高可用,实时性强、灵活易扩展、易于运维管理和全链路数仓构建。


通过一个月时间的调研和POC,客户主要从以下4个因素进行考量后,决定选择阿里云云原生大数据平台方案:


  1. 阿里云ElasticSearch提供高性能硬件、广告场景配置模板、优化的内核、负载均衡、多可用区部署等高性能和高可用能力,支持大规模、低时延的广告召回。
  2. 灵活的数据集成和OSS数据湖集成能力:数据主要来自于RDS业务数据、Kafka实时用户行为数据,以及第三方云服务商对象存储中的历史用户行为数据。阿里云DataWorks提供灵活、可视化的数据集成能力,方便从业务数据到广告检索和大数据平台的离线和实时数据同步;阿里云MaxCompute提供湖仓一体能力,可以方便地处理OSS上来自于第三方云服务商的半结构化数据。
  3. 阿里云云原生大数据平台离线实时一体化、分析服务一体化能力可以极大地简化大数据平台的架构。
  4. 在海外region有较完备的产品服务能力。


以下是各个组件的定位:


实现架构

整体架构

技术选型确定之后,开始建设广告检索和大数据平台数据中台,以下为架构图:

广告检索平台架构

广告检索平台使用Elasticsearch+Flink+RDS+Kubernetes构建,架构图如下所示:


架构的各组件说明:


  1. 数据接入

广告数据源为RDS MySQL关系型数据库,通过Flink实时捕获变更数据,并同步到Elasticsearch。Flink CDC 基于数据库日志的 Change Data Caputre 技术,实现了全量和增量的一体化读取能力,并借助 Flink 优秀的管道能力和丰富的上下游生态,支持捕获多种数据库的变更,并将这些变更实时同步到下游存储。


  1. 广告召回

为了支持高并发、低延时、高可用的查询服务,使用Elasticsearch作为召回引擎,多路召回广告信息。Elasticsearch中索引分片数按照单个分片30GB左右规划,将索引主分片设为1,副本数设为节点数-1,通过扩展节点数可以弹性提升查询性能。不需要支持范围查询的数值字段,把integer类型字段改为keyword类型,提升查询速度。在业务低峰期,使用_forcemerge API来对分段执行合并操作,每个分片中最大允许一个分段。为了避免JVM垃圾回收对查询延迟时间的影响,堆内存超过16GB的场景下,使用垃圾回收器G1替代CMS为了避免高并发查询请求导致带宽打满,应用程序本地缓存搜索结果,配置缓存1分钟后过期。系统上线前,通过全链路压测,验证需要的Elasticsearch服务、应用程序Kubernetes容器节点和规格。Elasticsearch数据节点规格16核32G内存、100GB ESSD云盘,总共配置28个数据节点,并配置3个专有主节点。

Elasticsearch查询性能监控


广告大数据平台架构

广告大数据平台使用 MaxCompute+DataWorks+Flink+Hologres构建,架构图如下所示:


架构的各组件说明:

1)数据源:

广告日志:来自App、Web、服务端等端的广告展点消日志;

业务数据库:存储业务数据的关系型数据库,主要是RDS。


2)云Kafka消息中间件

提供广告日志、系统日志、用户行为日志、RDS CDC数据的消息汇聚;提供计费明细数据的消息汇聚。


3)数据接入

通过DataWorks从Kafka中实时消费广告日志数据,并实时写入MaxCompute;业务数据通过DataWork从RDS离线周期性同步到MaxCompute;第三方云服务商大数据系统中的历史数据通过OSS同步工具从S3同步到OSS,MaxCompute通过OSS外表直接访问。


4)离线数据处理

离线数据处理基于MaxCompute搭建,用于计算全量数据,数据源来自于DataWorks的实时和离线导入。离线数据经过离线数仓计算(ODS层->明细层→汇总层),导入Hologres作为存量数据,一部分离线的DWD/DWS数据也导入Hologres作为维表的存量数据。

数仓模型采用分层设计,主要分为ODS层、明细层和汇总层:

ODS层:对应各种源数据,包括MaxCompute中存储的实时导入的广告日志,增量或者全量同步的MySQL业务数据表。

明细层:包含维度表和事实表,通常是对源数据进行清洗后的数据宽表,比如行为日志表、推广宽表、用户宽表等。

汇总层:对数据进行轻粒度的汇总表,比如广告效果表、用户行为的全链路表、用户群分析表等。


5)实时数据处理

实时数据处理基于Flink搭建,用于实时广告日志数据的预处理和ETL,数据源来自于Kafka和RDS CDC,经实时处理后写入实时数仓Hologres和计费Kafka,供对外提供数据服务和下游计费系统的处理。


6)数据服务

由于应用层报表部分面临聚合维度多、单表达百亿级行数、需要支持低延迟的查询等挑战,选择了Hologres作为交互式分析引擎, 聚合维度多, 需要分时、分广告位、分推广等几十个维度; 单表最大达到百亿级别;支持时间范围的实时查询。

另外为了提供统一、安全的数据服务,使用DataWorks数据服务能力,构建统一的数据服务API目录,并提供服务授权和计量管控。


7)数据数据应用

上层应用场景直接使用的数据表,包括多维分析生成各种收入报表、MaxCompute任务产出的算法模型特征和画像数据等。


业务价值

在确定平台方案和架构后,经过短短3个月时间,客户从0到1完成广告大数据平台的建设,并支持广告项目在海外多地的全面推广和落地,在技术和业务方面的带来的价值如下:


  • 为广告业务提供了高QPS、低延迟、高可用的企业级广告召回引擎,支撑业务快速从0到1增长,2022年QPS超过6万。
  • 为运营人员提供了分钟级/秒级的实时看板服务和实时报表,可以及时了解到广告收入和效果;为广告推荐算法提供了秒级的实时用户行为反馈,从而可以让广告召回系统及时根据用户反馈调整召回策略,从而提高广告投放效率。
  • 开发效率大为提高,开发人员从原来的作坊式开发,切换到DataWorks一站式、向导式的开发模式,数据集成零代码,数据开发SQL化,任务调度配置化,运维监控可视化,开发效率提高了2-3倍,学习的梯度也降低了很多。
  • 运维成本和复杂度下降,之前需要维护Hive、Spark、HBase, 、Druid等异构系统,采用阿里云云原生离线实时一体化、分析服务一体化的大数据产品,极大地简化了平台架构,同时全托管服务免运维


未来期望

客户在使用阿里云云原生大数据产品构建了大数据平台后,在后续的使用过程中也提出了更多的要求:


  1. 国际化能力的支持

客户业务范围覆盖多个国家,目前使用DataWorks做任务调度,只能按照固定时区时间进行调度,无法灵活配置按本地时区或某基准时区时间进行调度,导致任务开发不方便,需要较大的代价做时区适配,严重时甚至影响任务产出。


  1. 极致高性能高可用的广告检索引擎

随着业务的发展,客户对广告检索引擎的高性能达到极致的要求(满足峰值近10万QPS P99响应时间20ms内),检索引擎的性能优化之路永无止境;广告检索引擎直接对接客户业务,除了多AZ部署方面等硬能力之外,客户更关注的是故障演练规范、故障切换的最佳实践等这些软能力,这块期望阿里云能够有更多的支持。


了解更多阿里云大数据方案与产品信息 >>


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
打赏
0
3
0
0
80825
分享
相关文章
云原生技术在现代企业中的应用与实践####
本文深入探讨了云原生技术的核心概念及其在现代企业IT架构转型中的关键作用,通过具体案例分析展示了云原生如何促进企业的敏捷开发、高效运维及成本优化。不同于传统摘要仅概述内容,本部分旨在激发读者对云原生领域的兴趣,强调其在加速数字化转型过程中的不可或缺性,为后续详细论述奠定基础。 ####
铭师堂的云原生升级实践
铭师堂完整经历了云计算应用的四个关键阶段:从”启动上云”到”全量上云”,再到”全栈用云”,最终达到”精益用云”。通过 MSE 云原生网关的落地,为我们的组织带来了诸多收益,SLA 提升至100%,财务成本降低67%,算力成本降低75%,每次请求 RT 减少5ms。
铭师堂的云原生升级实践
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
媒体声音|专访阿里云数据库周文超博士:AI就绪的智能数据平台设计思路
在生成式AI的浪潮中,数据的重要性日益凸显。大模型在实际业务场景的落地过程中,必须有海量数据的支撑:经过训练、推理和分析等一系列复杂的数据处理过程,才能最终产生业务价值。事实上,大模型本身就是数据处理后的产物,以数据驱动的决策与创新需要通过更智能的平台解决数据多模处理、实时分析等问题,这正是以阿里云为代表的企业推动 “Data+AI”融合战略的核心动因。
DataWorks年度发布:智能化湖仓一体数据开发与治理平台的演进
阿里云在过去15年中持续为268集团提供数据服务,积累了丰富的实践经验,并连续三年在IDC中国数据治理市场份额中排名第一。新一代智能数据开发平台DateWorks推出了全新的DateStudio IDE,支持湖仓一体化开发,新增Flink计算引擎和全面适配locs,优化工作流程系统和数据目录管理。同时,阿里云正式推出个人开发环境模式和个人Notebook,提升开发者体验和效率。此外,DateWorks Copilot通过自然语言生成SQL、代码补全等功能,显著提升了数据开发与分析的效率,已累计帮助开发者生成超过3200万行代码。
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
139 15
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
杭州铭师堂的云原生升级实践
在短短 2-3 年间,杭州铭师堂完整经历了云计算应用的四个关键阶段:从“启动上云”到“全量上云”,再到“全栈用云”,最终达到“精益用云”。也从云计算的第一次浪潮,迈过了第二次浪潮,顺利的进入到了 第三次浪潮 AI + 云。
108 11
云原生入门:从理论到实践的探索之旅
本文旨在为初学者提供一个关于云原生技术的全面介绍,包括其定义、核心原则、关键技术组件以及如何将这些概念应用于实际项目中。我们将通过一个简易的代码示例,展示如何在云原生环境下部署一个简单的应用,从而帮助读者更好地理解云原生技术的实践意义和应用价值。

相关产品

  • 云原生大数据计算服务 MaxCompute