亚马逊AWS官方博客

游戏公司如何使用 Amazon Redshift Serverless 更快、更轻松地构建可扩展的分析应用程序

这篇博文旨在指导如何使用 Amazon Redshift Serverless 为游戏行业应用场景构建可扩展的分析解决方案。文中介绍了如何使用概念逻辑架构来应对一些十分常见的游戏行业应用场景,例如活动分析、游戏内购买推荐、衡量玩家满意度、遥测数据分析等。这篇博文还讨论了利用 AWS 服务中针对流式处理、机器学习(ML)、数据共享和无服务器功能的新近创新可实现的目标。

我们的游戏客户表示,他们的关键业务目标包括:

  • 通过应用内购买创造更多收入
  • 提高每位用户带来的平均收入和生命周期价值
  • 提高粘性,交付更出色的游戏体验
  • 提高活动的生产力,实现高投资回报

我们的游戏客户还表示,在构建分析解决方案时,他们需要:

  • 低代码或无代码模型 – 更希望使用现成的解决方案,而不是构建定制解决方案。
  • 分离且可扩缩 – 更愿意使用无服务器、自动扩展和完全托管式服务,而不是手动管理的服务。每项服务应易于更换,并且可在只有很少或根本没有依赖项的情况下获得增强。解决方案应能灵活扩缩。
  • 可移植到多个渠道 – 解决方案应能够与大多数端点渠道兼容,如 PC、移动设备和游戏平台。
  • 灵活且易于使用 – 解决方案应提供限制较少、易于访问且随时可用的数据,还应在只需少量调整或无需调整的情况下提供出色的性能。

适用于游戏组织的分析参考架构

在此部分中,我们将讨论游戏组织如何使用数据中心架构来满足企业的分析需求,这需要在多个粒度级别以不同的格式提供同一数据,并对数据进行标准化以加快使用速度。数据中心是一个数据交换中心,它是数据存储库中心的一部分,由数据工程、数据治理、安全和监控服务提供支持。

数据中心包含多个粒度级别的数据,并且通常未集成。与数据湖不同的是,它提供的数据已经过预先验证和标准化,更便于用户使用。数据中心和数据湖可以在组织中共存,并相互补充。数据中心更专注于使企业能够快速轻松地使用标准化的数据,而数据湖更专注于在一个位置存储和维护组织中的所有数据。与主要作为分析存储的数据仓库不同,数据中心是所有类型的存储库的组合,包括分析型、事务型、操作型、参考型存储库,数据 I/O 服务以及治理流程。数据仓库是数据中心的组件之一。

下图是概念分析数据中心参考架构。该架构类似于一种中心轴辐式方法。中间方框中的数据存储库是“中心”。方框外的流程是将数据传入和传出“中心”的“轴辐”。该参考架构通过部分结合数据中心和数据湖,实现了全面的分析服务。

让我们更详细地了解一下该架构的组件。

来源

可以从多个来源加载数据,例如记录系统、从应用程序生成的数据、操作型数据存储、企业范围内的参考数据和元数据、来自供应商和合作伙伴的数据、机器生成的数据、社交来源和 Web 来源。源数据通常采用结构化或半结构化格式,这两种格式分别是高度格式化和松散格式化的。

数据入站

此部分中的组件用于处理来自多个来源的数据,并将这些数据加载到数据存储库中。它可以采用批处理模式、连续、发布/订阅或任何其它
自定义集成。ETL(提取、转换、加载)技术、流式传输服务、API 和数据交换接口是该支柱的核心组件。与摄取过程不同,数据可在加载前按照业务规则进行转换。您也可以应用技术或业务数据质量规则并加载原始数据。本质上讲,这提供了灵活性,使您能够以更适合使用的形式将数据加载到存储库中。

数据存储库

此部分由一组数据存储构成,其中包括数据仓库、事务型或操作型数据存储、参考型数据存储、存储专用业务视图的特定领域数据存储以及企业数据集(文件存储)。文件存储组件通常是数据中心和数据湖之间的通用组件,这可避免发生数据重复并实现全面性。也可以使用数据共享和联合查询等功能,在所有这些存储库之间共享数据,而无需对数据进行物理迁移。不过,鉴于格式和延迟方面的各种使用需求,允许数据复制和数据重复。

数据出站

通常借助结构化查询来使用数据以满足分析需求。此外,可以访问数据集以满足机器学习、数据导出和发布需求。此部分中的组件用于查询数据、导出、交换和 API。在实施方面,虽然可以将相同的技术用于入站和出站,但发挥的作用不同。不过,并未强制使用相同的技术。由于数据已经过标准化,基本上可供使用,因此在这些流程中,不太需要转换数据。重点是易于使用以及与使用这些数据的服务集成。

使用

该支柱包含可满足企业分析需求的各种使用渠道。其中包括商业智能(BI)用户、标准和交互式报告、仪表板、数据科学工作负载、物联网(IoT)、Web 应用程序和第三方数据使用者。在许多组织中,常见的使用实体是查询、报告和数据科学工作负载。由于有多个数据存储以不同的粒度和格式维护数据以满足使用者需求,因此这些使用组件依赖于数据目录来找到正确的来源。

数据治理

数据治理是数据中心参考架构取得成功的关键。它包含元数据管理、数据质量、沿袭、掩蔽和监管等组件,这些组件是有条理地维护数据中心所必需的。元数据管理有助于整理技术和业务元数据目录,使用者可以参考该目录,了解哪个存储库中包含了哪些数据以及数据的粒度、格式、所有者、刷新频率等。除了元数据管理之外,数据质量对于提升使用者的信心也很重要。这包括数据清理、验证、一致性和数据控制。

安全和监控

应在多个级别控制用户和应用程序的访问。首先进行身份验证,针对人员和应访问的内容进行授权,实施策略管理和加密,并应用数据合规性规则。还包括监控组件,用于记录活动以进行审计和分析。

AWS 上的分析数据中心解决方案架构

以下参考架构为解决方案组件提供了 AWS 堆栈。

让我们再来了解一下每个组件和相关的 AWS 服务。

数据入站服务

AWS GlueAmazon EMR 服务在批处理方面具有同等效用。这两项服务会自动扩展,并且能够处理大多数行业标准数据格式。Amazon Kinesis Data StreamsAmazon Kinesis Data FirehoseAmazon Managed Streaming for Apache Kafka(Amazon MSK)可让您构建流式传输处理应用程序。这些流式传输服务能够很好地与 Amazon Redshift 流式传输功能集成。这有助于您处理实时来源、物联网数据和来自在线渠道的数据。您还可以使用 Informatica、dbt 和 Matallion 等第三方工具提取数据。

您可以使用 Amazon API GatewayAWS Lambda 构建 RESTful API 和 WebSocket API,从而实现与 Web 来源、社交和物联网来源的实时双向通信。AWS Data Exchange 有助于订阅 AWS Marketplace 中的第三方数据。数据订阅和访问完全通过此服务进行管理。有关更多详细信息,请参阅相应的服务文档。

数据存储库服务

Amazon Redshift 是一项数据存储服务,建议您将此服务用于 OLAP(在线分析处理)工作负载,例如云数据仓库、数据集市和其它分析数据存储。此服务是 AWS 上的这个参考架构的核心,可随时用于满足大多数分析需求。您可以使用简单的 SQL 来分析数据仓库、数据集市、操作型数据库和数据湖中的结构化和半结构化数据,从而以任何规模实现极为出色的性价比。Amazon Redshift 数据共享功能提供了即时、精细和高性能的访问,无需跨相同或不同的 AWS 账户中的多个 Amazon Redshift 数据仓库以及跨区域复制和移动数据。

为了便于使用,Amazon Redshift 提供了无服务器选项。Amazon Redshift Serverless 可以自动预置和智能扩展数据仓库容量,即使面临极为严苛和不可预测的工作负载,也能提供高速性能,而且您只需按实际用量付费。您只需加载数据,然后便可在 Amazon Redshift 查询编辑器或偏好的 BI 工具中立即开始查询,并在一个易于使用、零管理开销的环境中,继续享受极为出色的性价比并使用熟悉的 SQL 功能。

Amazon Relational Database Service(Amazon RDS)是一项完全托管式服务,可用于构建事务型和操作型数据存储。您可以从许多常用的引擎中进行选择,例如 MySQL、PostgreSQL、MariaDB、Oracle 和 SQL Server。借助 Amazon Redshift 联合查询功能,您可以就地查询事务型和操作型数据,而无需移动该数据。此联合查询功能目前支持 Amazon RDS for PostgreSQLAmazon Aurora PostgreSQL 兼容版本Amazon RDS for MySQLAmazon Aurora MySQL 兼容版本

Amazon Simple Storage Service(Amazon S3)是一项服务,建议您将该服务用于架构中的多格式存储层。该服务可提供行业领先的可扩展性、数据可用性、安全性和性能。组织通常使用开放文件格式将数据存储在 Amazon S3 中。利用开放文件格式,可以使用多个处理和使用层组件分析相同的 Amazon S3 数据。通过将 SQL 和 Amazon Redshift Spectrum 结合使用,可以轻松地就地查询 Amazon S3 中的数据。这有助于您从 Amazon S3 中的文件中查询和检索结构化和半结构化数据,而无需加载该数据。多个 Amazon Redshift 数据仓库可以同时查询 Amazon S3 中的相同数据集,而无需为每个数据仓库制作数据副本。

数据出站服务

Amazon Redshift 附带了基于 Web 的分析工作台 Query Editor V2.0,可让您更轻松地运行查询、探索数据、创建 SQL 笔记本以及通过常用界面在 SQL 中与团队协作处理数据。AWS Transfer Family 有助于您使用 SFTP、FTPS、FTP 和 AS2 协议安全地传输文件。它是一项完全托管式低代码服务,可支持数千个并发用户。与入站流程类似,您可以使用 Amazon API GatewayAWS Lambda 通过 Amazon Redshift Data API 提取数据。此外,AWS Data Exchange 有助于通过 AWS Marketplace 将您的数据发布到第三方以供使用。

使用服务

Amazon QuickSight 是一项服务,建议您使用该服务创建报告和仪表板。该服务可让您使用机器学习洞察创建交互式仪表板、可视化项和高级分析。Amazon SageMaker 是一个机器学习平台,可满足您所有的数据科学工作负载需求。它有助于您构建、训练和部署使用来自数据中心存储库的数据的模型。您可以使用 Amazon 前端 Web 和移动服务以及 AWS IoT 服务来构建 Web、移动和 IoT 端点应用程序,以便使用数据中心之外的数据。

数据治理服务

AWS Glue Data CatalogAWS Lake Formation 是 AWS 目前提供的核心数据治理服务。这两项服务有助于集中管理所有数据存储库的元数据并管理访问控制,还有助于进行数据分类,并且可以自动处理架构更改。您可以使用 Amazon DataZone 通过内置的治理和访问控制来跨组织边界大规模发现和共享数据。AWS 正在投资于该领域,以便为 AWS 服务提供更统一的体验。您也可以将许多合作伙伴产品(例如 Collibra、Alation、Amorphic、Informatica 等)用于 AWS 服务的数据治理功能。

安全和监控服务

AWS Identity and Access Management(AWS IAM)可管理 AWS 服务和资源的身份。您可以定义用户、组、角色和策略,以便对员工和工作负载进行精细的访问管理。AWS Key Management Service(AWS KMS)可为您的应用程序管理 AWS 密钥或客户管理的密钥。Amazon CloudWatchAWS CloudTrail 有助于提供监控和审计功能。您可以收集并分析指标和活动以提高运营效率。

在这篇博文中,我们讨论了相应的解决方案组件的常用 AWS 服务。但是,您并不只是能够使用这些服务。还有许多其它适用于特定应用场景的 AWS 服务,这些服务可能比我们在本文中讨论的服务更能满足您的需求。您可以联系 AWS 分析解决方案架构师以获得相应的指导。

游戏应用场景的示例架构

在此部分中,我们将讨论两个游戏应用场景的示例架构。

游戏活动分析

游戏内活动(也称为定时活动或实时活动)通过刺激因素和期待来鼓励玩家参与。活动可吸引玩家与游戏互动,提高玩家满意度并增加游戏内购买收益。活动已变得愈发重要,尤其是随着游戏从静态娱乐内容转变为利用服务提供不断变化的动态内容(这些服务可在游戏进行中根据信息决定游戏玩法)的背景下。这使得能够在玩家玩游戏的过程中改变游戏玩法,并影响有效和无效玩法,使任何游戏都能够拥有无限的生命力。

游戏内活动能够在熟悉的框架中提供新鲜的内容和活动,确保玩家在数月甚至数年内都参与游戏。玩家可以在自己熟悉的框架或渐渐喜爱上的世界里享受新的体验和挑战。

以下示例展示了此类架构可能出现的情况,包括为支持流程的各个部分而进行的更改,例如将数据分成单独的容器,以适应可扩展性、计费和所有权方面的需求。

要充分了解玩家对活动的看法,并制定有关未来活动的决策,就需要了解最新活动的实际执行情况。这意味着需要在玩家玩游戏时收集大量数据,以建立关键绩效指标(KPI),衡量每个活动的效果和玩家满意度。这需要进行分析以专门衡量每个活动,并捕获、分析、报告和衡量每个活动的玩家体验。这些 KPI 包括:

  • 初始用户流互动 – 用户在游戏中首次接收或下载活动更新后所执行的操作。是否存在任何明显的下降点或瓶颈,导致用户对活动失去兴趣?
  • 盈利 – 用户在活动中花钱购买的物品以及购买时间和地点,无论是购买游戏内货币、响应广告还是购买特殊技能等。
  • 游戏经济 – 用户如何在活动期间使用游戏内货币、交易或以物换物来赚取和使用虚拟货币或物品。
  • 游戏内活动 – 玩家在活动中的胜利、失败、升级、比赛获胜或玩家成就。
  • 用户之间的互动 – 活动期间的邀请、送礼物、聊天(私聊和群聊)、挑战等。

这些只是一部分 KPI 和指标,它们是对活动进行预测性建模的关键,因为游戏需要吸引新玩家,同时保持现有用户的参与度。

游戏内活动分析

游戏内活动分析主要着眼于玩家可能表现出的任何有意义、有目的的活动,旨在试图理解玩家所采取行动的内容、时间和结果。这包括有关玩家的情境信息,其中包含他们玩游戏的地点(地理和文化)、频率、时长、每次登录所做的事情以及其它活动。

以下示例展示了此类架构可能出现的情况,包括为支持流程的各个部分而进行的更改,例如将数据分成单独的仓库。多集群仓库方法有助于单独扩展工作负载,为实施的计费模式提供灵活性,并支持去中心化数据所有权。

该解决方案基本上是记录信息,协助了解玩家的行为,从而获得洞察来提高现有玩家的留存率,并吸引新玩家。这使您能够做到:

  • 提供游戏内购买建议
  • 衡量玩家的短期趋势和一段时间内的趋势
  • 策划能够吸引玩家参与的活动
  • 了解游戏的哪些方面大获成功,哪些方面不够成功

了解这些情况后,您可以决定未来的游戏更新,提出游戏内购买建议,决定何时以及如何平衡游戏经济,甚至将这些信息和相关决策注入回游戏中,从而允许玩家在游戏进程中改变自己的角色或玩法。

结论

虽然该参考架构仅展示了几种分析类型的示例,但提供了支持游戏分析应用程序的更快技术路径。在实施不同的方法进行分析以及了解游戏应用程序的性能时,分离的中心轴辐式方法可带来敏捷性和灵活性。此架构中描述的专用 AWS 服务提供了全面的功能,以便轻松收集、存储、测量、分析和报告游戏和活动指标。这有助于您高效执行游戏内分析和活动分析,衡量玩家满意度,并向游戏玩家提供定制建议,进而高效组织活动并提高留存率。

感谢您阅读这篇博文。如果您有任何反馈或疑问,请在评论中留言。


关于作者

Satesh Sonti 是来自亚特兰大的高级分析专家解决方案架构师,专门研究构建企业数据平台、数据仓库和分析解决方案。他在为全球银行和保险客户构建数据资产和领导复杂数据平台项目方面,拥有超过 16 年的经验。

Tanya Rhodes 是来自旧金山的高级解决方案架构师,专注于实现游戏和支持系统的分析、扩展和性能增强,从而为游戏客户提供优质服务。她在企业和解决方案架构方面拥有超过 25 年的经验,专门为跨多个业务线(包括游戏、银行、医疗保健、高等教育和州政府)的超大型商业组织提供服务。