Hologres X TapTap,毫秒级实时在线推荐

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 本文将会介绍TapTap基于Hologres在实时推荐场景的最佳实践。

心动是一家全球游戏开发和发行商,从 2009 年以来提供多款网页游戏和手游。截至 2022 年中,心动运营 38 款免费和付费游戏,目前在全世界拥有 5,000 万月活跃用户,主要分布在大中华地区、东南亚、北美和南美。2016 年,心动推出手机游戏社区和应用商店 TapTap,截至2021财年在全球有 4,400 万月活跃用户。

借助 TapTap ,玩家可以通过官方渠道免费下载手机游戏,或付费购买手机游戏与服务。玩家亦可评价、讨论游戏,在社区中与其他玩家交流。TapTap 也为开发者提供了一套游戏发行服务,并免费提供了一套软件开发工具包,称为「TapSDK」。开发者可以通过 TapSDK 将 TapTap 的好友功能、成就功能等服务集成到自己的游戏中。

不同于传统应用商店的「分成」商业模式,TapTap 自创立开始至今即坚持「零分成」——不会向 TapTap 上架的游戏,收取充值流水的分成。这个模式让游戏厂商可以获得 100% 的流水收入,更有利于行业良性发展,同时也对 TapTap 的商业化提出了更高的要求。在此背景下,TapTap 的商业化目前主要由广告收入驱动。
心动1.png

1. 业务痛点:业务增长缓慢,急需大数据技术反哺

我所在的 TapTap IEM 组全称 Intelligence Engine & Monetization,负责整个 TapTap 的流量资源分配和商业化相关的工作,是先进技术驱动的业务型团队。 TapTap 作为社区型游戏商店,属于典型的多边平台经济模型,涉及到用户、商家以及创作者三方需求的满足,平台的增长很大程度上依赖于这三者的连接效率。

IEM在其中扮演核心角色:以机器学习算法为基础,对 TapTap 各个业务场景进行精细化的建模和优化,驱动业务增长,包括但不仅限于首页的游戏推荐、首页的原生广告、动态内容 feeds 、搜索、内容 C2M 增长、对外广告投放以及 Push 推荐等,核心是以广告变现为主要的盈利模式。
心动2.png

随着新兴的游戏公司崛起,以及公司游戏业务老产品成熟度趋于成熟,APP上游戏的下载量开始下滑,月活用户数也较去年同期有较大幅度下降,最直接的影响就是商业化的营收和利润下滑。为了进一步提升广告营收促进业务增长,于是从2021年开始,公司围绕广告、搜索、推荐等业务引入阿里云大数据和机器学习技术(Hologres+MaxCompute+DataWorks+PAI),成立大数据+AI数据中台,打通TapTap、心动游戏和开发者平台数据,通过大数据技术提升数据的智能化、精细化运营,从而反哺业务高速增长。

在下文中,我将会详细介绍如何通过阿里云大数据技术赋能TapTaP实时推荐等多个场景,助力业务精细化增长。

2. 解决方案:大数据技术架构升级,促进业务实时化、数智化

2.1 推荐业务需求:高吞吐的在线实时查询

TapTap 的核心业务场景主要包括 App 首页实时个性化推荐、在线搜索、广告精准投放等。其中首页实时推荐增长乏力,因此我们本次大数据的建设核心主要以推荐业务为主。

点击率预估对于搜索、广告、推荐等业务而言,都是最核心的技术之一,可以准确地预估用户在不同场景下对于不同的「商品」的点击、下载以及各种转化概率,对于进一步提高各个业务的转化率、产品的DUA,以及各个场景的渗透率都有很大意义。

在业务一开始,我们团队就定位于打造业界最先进的深度学习模型预估体系,实现技术驱动商业,让用户发现好游戏的愿景。为了达成业务目标,在在产品选型阶段,我们从技术角度分析了目前推荐业务的需求:

2.1.1 高效的向量召回服务

向量召回是模型预估系统的第一个阶段,将样本数据通过机器学习训练模型后,根据用户和产品的特点,快速检索出少量用户可能感兴趣的物品,然后进行粗排/精排,这个过程就叫向量召回。这部分要处理的数据量非常大,要求速度快,以及使用的所有策略、模型、特征都不能太复杂。

2.1.2 高吞吐的毫秒级实时模型特征查询

我们需要对用户的特征进行快速的查询然后对接推荐引擎,作为线上实时推荐。特征服务需要对接线上系统,流量会非常高,因此一般要求低延迟,上线时间基本在10ms左右。同时对 TapTap 而言,上亿的用户量有着非常大量级的特征,因此系统还需要满足大容量(数亿行,数百列的大表)的存储需求。

2.1.3 模型高精度和自动化部署

模型的精确度计算,决定了最终推荐的效果,因此我们需要一款能有着高精度的模型训练框架。同时因为策略不同,我们也会不断修改模型的训练框架和验证效果,以验证出最佳的训练结果,期间需要涉及大量的模型训练,我们也需要模型能够自动化部署,这样能节约很多的开发成本。

基于上诉诉求,在选型阶段我们进行了多方调研,从性能、功能及运维成本多维度对比后,我们选择了阿里云云原生大数据AI一体化解决方案(Hologres+MaxCompute+DataWorks+Flink+PAI),帮助我们业务实现快速增长及商业化。

3. 通过阿里云大数据建设的推荐业务

下面是推荐业务的整体架构:

在最初的阶段,我们把所有数据都存放在EMR集群上,同时出于模型开发需要, 我们也引入PAI-TF,PAI-EAS等AI基础设施,借助MaxCompute湖仓一体方案打破数据湖与数据仓库割裂的体系,将绝大部分数据都整体迁移到MaxCompute,使得模型可以直接基MaxCompute中的数据进行大规模分布式深度学习训练。 而Hologres又在特征存储和召回阶段的多个场景中起到了关键作用。其中:

  • MaxCompute主要是离线特征数据以及离线指标存储和处理
  • Flink实时计算实时特征数据
  • 机器学习PAI主要用于模型训练和模型部署
  • Hologres作为统一存储引擎,加速MaxCompute离线数据,以及存储Flink实时写入的数据。并提供OLAP报表分析以及在线推荐查询。
  • DataWorks作为一站式开发平台,所有的周期性调度,数据建模等任务都在DataWorks上进行,并提供数据治理、数据地图等功能,满足日常开发管控需求。

心动3.png

通过阿里云云原生大数据AI一体化解决方案,目前支持了 TapTap 推荐业务的多个业务场景,主要包括:

3.1 用户召回

通过Hologres的向量计算功能,以一些trigger如用户id,商品id,或者搜索词等, 召回PAI中训练的样本数据,并对接线上系统,以此来完成用户可能感兴趣商品的召回。

3.2 App首页实时推荐

MaxCompute 中存储离线 MaxCompute 存储离线特征数据,并对接 PAI 进行离线模型训练,训练后的模型数据通过 Hologres 加速查询。Flink 实时计算实时特征数据比如用户最近点击过的N个游戏、该游戏最近N分钟内的平均打分等特征数据,并关联实时生成样本数据写入 Hologres 中存储,以在线服务查询的方式提供给 App 推荐系统,以此完成在线实时推荐。

3.3 实时报表查询

在 TapTap 多个业务场景中,我们需要观察极为大量的业务指标和线上数据。对于支撑报表的数据服务MaxCompute 来说压力还是比较大的,我们需要查询数据量更大、响应更快的报表加速能力。因此通过 Hologres加速查询 MaxCompute 的数据,对接 QuickBI 报表,以此来满足内部运营对数据快速探索的能力,辅助下一步运营决策。

4. 高可用部署保障在线服务读写分离

因为推荐业务对系统的时效性有着非常强的需求,而我们之前将Hologres作为服务的中心,既承担数据存储,又有在线推荐的场景,同时又有报表查询场景的周期性导入以及大 query 查询的场景,当有偶发性大量写入或者大query消耗资源较多时,就会导致线上推荐服务会受到一点的影响,从而影响推荐效果。因此我们采用了 Hologres 的多子实例部署方案。主实例和子实例会共享一份存储,主实例主要用于离线数据导入,实时数据写入以及报表查询,子实例主要用于在线推荐。

通过多子实例的部署,解决了读写相互竞争资源,从而引发在线推荐业务超时的问题,真正的隔离了资源,提高了系统的可用性。

调整前:
心动4.png

调整后:
心动5.png

5. 业务价值:推荐业务成为TapTap游戏分发最大来源

通过Hologres+PAI+Flink+MaxCompute+DataWorks大数据技术加持后, TapTap 多个应用场景包括搜索,推荐,广告等数据变更更加智能化,实时化,其中主要的业务价值有:

5.1 实时个性化推荐

  • 通过大数据+AI 的加持,App首页的流量从搜索为主转变为推荐为主,提升玩家使用体验,助力客户真正发现好游戏,显著提高了业务营收。
  • 构建了完整的用户画像,通过数据运营的方式,帮助内部开发了解真实用户需求,从而对游戏进行快速迭代以及推陈出新等,实现了正向闭环。
  • 数据写入和查询的效率变得更快,能够实时写入实时查询,加快对数据探索的效率,同时高流量的推荐业务查询毫秒级响应,快速助力业务实时个性化推荐。

5.2 低成本

  • 在阿里云大数据体系下的深度整合,可以做到用极低的开发成本,机器成本将数据同步到线上直接使用,极大的提高的算法工程人员的开发效率,也减少了大量不必要的开发.
  • 相比我们最早期的特征服务方案,将大规模特征序列化存储Redis, 改用 Hologres 之后,为我们团队带来了极大的效率提升,算法同学基本可以通过一键生成的脚本,快速把数据推到 Hologres ,大幅缩短了上线流程和时间。
  • 自从使用 Hologres 之后,就再没有出现过特征爆存储的问题,这为我们后续迈向更高的DAU,更高的用户量级,都打下来了坚实的技术基础.。

5.3 在线服务高可用

通过 Hologres 主从实例的部署的方式,让业务实现了写入和线上服务查询隔离,即使是高并发查询也依旧可以保持较低的延迟,为搜索广告在线推荐提供了稳定服务。

了解Hologres
合集.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
28天前
|
数据采集 运维 双11
实时数仓Hologres发展问题之Hologres提升实时数仓的生产级高可用性如何解决
实时数仓Hologres发展问题之Hologres提升实时数仓的生产级高可用性如何解决
52 2
|
30天前
|
运维 监控 Kubernetes
实时数仓Hologres运维问题之时效性如何解决
Hologres达成分钟级问题发现与解决,确保监控高效准确。
29 0
|
25天前
|
存储 分布式计算 数据挖掘
实时数仓 Hologres 问题之适用于业务场景的实时数仓如何搭建
实时数仓 Hologres 问题之适用于业务场景的实时数仓如何搭建
|
1月前
|
存储 DataWorks 数据库
实时数仓 Hologres产品使用合集之如何计费
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
1月前
|
存储 关系型数据库 分布式数据库
实时数仓 Hologres产品使用合集之对于大量数据的写入,该如何优化
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
2月前
|
SQL 分布式计算 容灾
|
3月前
|
存储 SQL 搜索推荐
一站式实时数仓Hologres整体能力介绍—2024实时数仓Hologres公开课 01
一站式实时数仓Hologres整体能力介绍—2024实时数仓Hologres公开课 01
|
3月前
|
分布式计算 算法 关系型数据库
实时数仓 Hologres产品使用合集之如何优化查询性能
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
9月前
|
监控 OLAP
阿里云实时数仓有什么用
阿里云实时数仓有什么用
210 1
|
9月前
|
存储 数据采集 安全
阿里云实时数仓的优势
阿里云实时数仓的优势
142 1

相关产品

  • 实时数仓 Hologres