心动游戏在阿里云上构建云原生大数据平台,基于DataWorks构建行业通用大数据模型,如玩家、产品、SDK、事件、发行等,满足各种不同的分析型应用的要求,如AI场景、风控场景、数据分析场景等。
01心动游戏简介
心动创立于 2003年,是一家全球游戏开发和发行商,拥有丰富的研发、发行和代理运营经验。截至 2023 年中,心动运营 49 款免费和付费游戏,在全世界拥有超过 1,300 万月活跃用户,主要分布在大中华地区、东南亚、北美和南美。2016 年,心动推出手机游戏社区和应用商店 TapTap,2023年中,TapTap 在全球有超过 4,000 万月活跃用户。心动于2019年12月12日在香港联合交易所有限公司主板上市,股份代码:02400.HK。
02心动游戏大数据平台架构
数据从生产、存储,到分析、应用,会经历各个处理流程。它们相互关联,形成了整体的大数据架构。
- 数据采集:应用SLS和Kafka将游戏、社区、系统产生的数据和日志同步到大数据系统中等待下游处理。
- 数据存储:海量数据通过Flink清洗后同时存储在OSS和Hologres中,等待下游进行处理和查询。
- 数据处理:原始数据经过层层过滤、拼接、转换形成多层数仓结构,一般来说,离线的批量处理完全由MaxCompute承接,数据开发平台采用与其无缝集成的DataWorks,另一种是实时在线分析有Flink+多重OLAP工具组合实现。
- 数据应用:经过处理的数据可以对外提供服务,如生成可视化的报表、即席分析和查询、AI模型训练和预测等。
03游戏通用数据模型解析
我们的游戏行业通用大数据架构旨在优化多平台游戏的场景中数据处理和利用的方式。凭借规范的抽象方法,该建模方法为游戏开发者提供了优化游戏性能、提高玩家参与度和最大化收入潜力的强大数据解决方案。通过利用移动游戏中生成的大量数据,我们的模型使开发人员能够快速获得有关玩家行为、偏好和趋势的客观反映和决策。这种数据驱动的方法使开发人员能够在游戏设计、货币化策略和有针对性的营销活动方面做出明智的决策。借助我们的通用大数据模型,开发人员可以实时无缝地收集、处理和分析数据,从而使他们能够快速识别影响游戏各方面的模式和趋势,进而能够及时做出调整,实现个性化体验,并为个人玩家提供量身定制的内容。
逻辑数据模型
逻辑数据模型(Logical Data Model)是一种图形的展示方式,采用面向主题的方法、按照3NF的规则有效组织来源多样的各种业务数据 ,同时采集成了保险、银行及投资等行业复杂的业务规则,支持大量的分析应用。使用统一的逻辑语言描述业务,是数据管理的分析工具和交流的有力手段;同时还能够很好的保证数据的一致性,是实现业务智能(Business Intelligence)的重要基础。 首先,数据模型:快速理解数据的逻辑框架。 在数仓建模中,我们通常按照一些固定的思维模式进行,在传统金融行业、互联网电商行业已经有成熟的方法论落地,对于泛娱乐游戏行业来说,同样需要这样的方法论来指导数据仓库建模的实施,工具上 DataWorks智能数据建模 、等工具已经提供了完备的可视化、可解释化。当我们抽象出了通用的领域建模方法论后,就可以应用在各个游戏的建模中,快速搭建数据仓库、解决数据治理问题。GS-LBDM-心动游戏通用逻辑数据模型
基于逻辑数据模型按照多平台游戏业务主题领域和第三范式建模规则来组织数据,如玩家、产品、SDK、事件、发行等,基本可以涵盖多平台游戏的主要业务范围和相关数据。企业级数据仓库逻辑数据模型应该是中性的,能够满足各种不同的分析型应用的要求,如AI场景、风控场景、数据分析场景等。 所以经过《火炬之光》、《铃兰之剑》、《T3 Arena》、《香肠派对》等多个游戏的建模落地后,我们抽象了面向多平台游戏的通用逻辑数据模型 —— GS-LBDM。 GS-LBDM(Game Services Logical Big Data Model)的主题域包括六大主题:玩家、产品、事件、发行、工作室、地区 (有些重发行的公司也会把发行拆分成更明确的:发行、运营、渠道)。 深入之前,我们需要区分「模型」在不同层面上的解释:- 在具体业务场景下的具象模型,作用是应用数据来解释和解决具体的业务生产问题,如DAU流水预估模型,玩家流失模型,交易行异常交易群体检测模型等
- 在数据分析层面的通用模型,作用是通过组合维度和事实以实现快速的数据呈现,如事件分析,漏斗分析,分布分析等
- 在数据仓库层面的模型,作用是将无序、杂乱、繁琐、庞大且难以管理的数据,进行结构化有序的管理。使企业中的数据产生更多的价值,将数据价值最大化
- 工具和系统层面,例如基于指标数据层的画像、基于数据湖的实时明细,基于CUBE的多维数据聚合等这些都是提高数据应用效率、简化数据应用难度的工具,并不向模型做解释
GS-LBDM中,各个主题单独建模,不同主题间交互和联系,分合有序。
玩家 | 下载并游玩 | 产品 |
产品 | 隶属于 | 工作室 |
工作室 | 拥有 | 资产和预算 |
玩家 和 产品 | 隶属于 | 地域 |
产品 | 产生 | 事件 |
发行动作 | 对应 | 地域 |
产品 | 通过 商店和渠道 | 对外提供下载 |
产品 | 参与 | 发行 |
事件 | 对应 | 参与者是谁 |
拆分具体的领域建模方便理解,玩家域的建模思路比较容易被接受,所以拿玩家域举例,有需要其他领域方法论的会在后续更新。玩家域的细分业务过程由四部分构成:玩家获取(Acquisition),玩家活跃(Activation),玩家留存( Retention),玩家付费(Revenue)。以上四部分组成了游戏中完整的用户生命周期的线索,玩家获取关注买量阶段,包括成本和新增;玩家活跃关注用户价值转化趋势,包括启动、时长、以及整体的活跃率等Rate;玩家留存关注用户粘性,包括次留七留十四留月留存等,还要关注社区相关的运营指标;玩家付费是运营收入的最终转化环节,重点关注ARPU、ARPPU、ROI、LTV等。考虑游戏盈利模式分为IAP、IAA、付费下载,在四个业务过程中还有不同侧重。领域之间存在着的关系也要梳理清楚,比如大部分发行域的指标都与玩家域的四个业务过程息息相关,用户获取阶段是游戏的买量期,运营人员通过各种推广渠道(Channel)投放素材、举办线上或线下活动等各种方式获取目标用户。这个阶段数据建模最重要的就是支持通过组合各种维度(如时间、地域、渠道)对各种营销渠道的效果进行评估,从而更加优化合理的确定投入策略,最小化用户获取成本(CAC)。
- 那么常用原子指标就有:点击用户数(click),安装用户数(install),预约用户数(reserve),注册用户数(regist),在线用户数(login),最高在线(PCU)、平均在线(ACU),活跃用户数(active),日活跃(DAU)、周活跃(WAU)、月活跃(MAU),花费数(cost),曝光量(exposure) 等。
- 常用的维度就有:时间、地域、版本、语言、是否自然量,用户的有效性,渠道(以及详细的campaign,adset,adgroup等),素材,搜索关键词,来源活动等。
落地工具-阿里云DataWorks数据建模
落地工具我们选用了阿里云DataWorks数据建模,DataWorks智能数据建模产品分为四大板块,分别是数仓规划、数据标准、维度建模和数据指标。其中数仓规划、数据标准和数据指标最终都为维度建模服务。- 数仓规划
是数仓的顶层设计,包含分层划域、维度管理、建模空间。从产品定义来讲,这些内部并不复杂。难点在于数仓怎么根据业务场景来划分。其中一个重点功能是可视化的表名检查器配置,检查器用于规范目标分层中表的命名,将同一分层中表名称的命名格式统一,便于通过表名称,即可了解到该表所属的业务类型、作用功能、数据粒度等信息。同时,可以帮助减少后期的运维成本。系统默认创建的数仓分层和自定义新建的数仓分层均可以配置数仓分层检查器。对于建模同学来讲,建模效率会提升且产出的内容符合规范。
- 数据标准
包含数据标准、标准代码、度量单位、命名词典。数据标准和标准代码设置好之后,可以和模型字段做关联,关联之后模型字段名称、值等都需要符合标准的设置。
- 数据指标
包含派生指标、原子指标、修饰词、时间周期。这里重点需要说明批量创建指标,勾选构成派生指标的原子指标、修饰词、时间周期,就可以生成一系列派生指标,用于模型设计。指标创建好后有两个作用,一是可以把指标批量导入到模型里面,作为模型的字段存在。另一个是模型字段已经存在,需要跟指标做关联。这样在物化之后可以找到指标对应的是哪个模型。
- 维度建模
支持正向建模和逆向建模。逆向建模解决的是已有数仓冷启动的问题,主要用于将其他建模工具生成的模型反向建模至DataWorks的维度建模中。正向建模支持可视化建模、excel导入、多语言建模。可视化建模类似网页版excel的方式,把模型字段信息统一管理。在这个过程中,可以复用已经存在的物理表表机构,提升建模效率。多语言建模支持DDL、自研FML方式建模。
- 落地成果
纵向上,分层为数据引入层、数据公共层和数据应用层。数据引入层(ODS),结构上与源系统基本保持一致,是数据仓库的数据准备区。现实中事件域的ODS层最为丰富。数据公共层(CDM,包含DWD、DIM、DWS),存放明细事实数据、维表数据及公共指标汇总数据。结构上,明细事实数据、维表数据一般根据ODS层数据加工生成,结构有所变化。公共指标汇总数据一般根据维表数据和明细事实数据加工生成,结构和粒度都有所变化。数据应用层(ADS),存放数据产品个性化的统计指标数据,根据CDM层加工生成。横向上,依据GS-LBDM构建了六大数据域,包括玩家、产品、事件、发行、工作室、地区和与之对应的6(n+1)个业务过程,利用数据建模和DataStudio的联动功能实现了建模和开发的一体化。
04总结
最后我们总结下GS-LBDM的优势:
1、继承性
- 涉及范围广:支撑游戏广泛的业务,如个性化推荐、特征工程、标签服务、高维监控等。
2、灵活性
- 满足全局分析的需要:多个游戏间数据口径一致,可在各层见平行拉通。
- 是一个满足第三范式的数据模型,与操作系统、数据库系统和物理平台无关,能够最大限制地控制数据冗余,并保证足够的灵活性。
3、扩展性
- 在业务改变时,最小化模型的改动,甚至不做任何改动就可以适应这种变化。
- 物理任务部署更容易寻址进而操作参数、扩展。
4、可实施性
- 模型产品配备了丰富的说明和文档,包括样本表、实体和属性的定义,业务规则,以及逻辑视图等,实用性和可操作性强,易于复制到其他相同类型游戏。
- 节省设计时间,降低成本费用。
5、应用中性
- 不针对特别的应用和功能设计,能最大程度适应将来业务的扩展和变化。
蔡圣哲 心动公司大数据架构师
“心动网络数据量大且丰富,如何更有效地从数据中挖掘价值,更好地服务用户,一直是我们数据中台努力的方向。基于DataWorks的平台能力,实现数据模型快速构建和数据开发能效化,帮助我们大幅度优化了数据处理的全过程,更快的迭代模型以适应纷繁复杂的业务。”