关键字: [Amazon Web Services re:Invent 2023, Amazon Timestream, Timestream Architecture, Timestream Scaling, Timestream Features, Epic Games Timestream, Timestream Tuning]
本文字数: 1700, 阅读完需: 8 分钟
视频
如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1va4y1R78b
导读
了解 Epic Games 如何使用 Amazon Timestream 以近乎实时的方式获得业务见解,从而改善玩家和开发人员的体验。Epic Games 是全球最受欢迎的视频游戏之一《Fortnite》的幕后制作厂商,凭借 Unreal Engine 改变了游戏行业,Unreal Engine 是一种 3D 创作引擎,现在被广泛应用于各个行业。听听他们是如何使用 Timestream 构建一个可扩展的解决方案,以监测和获取数百万游戏玩家在其游戏目录中的游戏时间并从中获得见解。同时还可以发现如何使用最新的 Timestream 增强功能,如客户定义的分区键、卸载和计划查询,以高性能和经济高效的方式获取洞察。
演讲精华
以下是小编为您整理的本次演讲的精华,共1400字,阅读时间大约是7分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。
亚马逊云科技的首席图形和时间序列架构师Ian Robinson在演讲开始时吸引了超过500名观众的注意,并向大家介绍了自己以及会议的共同主讲人,Epic Games的高级后端工程师Ken Hawthorne。作为主持人,Ian解释说,他首先将概述Timestream的架构、扩展能力和新功能,然后交由Ken讨论Epic Games如何利用Timestream改善其游戏目录中玩家的体验。
Ian首先介绍了Timestream的背景,这是一款由亚马逊云科技在大约3年前,即2020年推出的完全管理的时序数据库。自那时以来,数千名客户已经在各种使用场景和行业领域中采用了Timestream,包括IT监控、安全分析、物联网车队管理、媒体分析、电子商务和数字营销。所有这些使用场景都需要处理来自各种来源(如设备、服务器、用户或会话)的大规模和高速度生成的时间序列数据。
时间系列工作负载通常涉及每秒发射数十亿个指标,导致每天产生万亿个数据点。例如,一个每分钟从5000万台设备发出5个指标的工作负载将每小时产生超过3万亿个数据点。这需要一个能够处理每秒数百万记录的极高接入速率并将数据立即用于实时监控和分析的数据库。Timestream通过其无服务器架构和独立的缩放接入、存储和查询层来专门满足这些需求。
Ian通过一个图展示了Timestream的总体架构。数据被写入Timestream的接入层,该层会将传入的数据复制并分区以供存储。这一层具有高度的可扩展性,能够通过动态分配资源将接入速率提高到每分钟数GB。Ian提到,他们测试过接入层可以扩展到每天处理高达22TB的工作负载,或者每小时大约30亿个事件。
存储系统由快速内存和长期的磁性存储组成。内存存储能迅速处理大量数据并提供近实时查询,而磁性存储则以高效且经济的方式存储PB量级的历史数据,并且能在数年内实现快速查询。根据预定义的每个表的保留策略,数据会自动从内存迁移至磁性存储。
该查询系统拥有自适应查询引擎,能够在两层上对数据进行解析。通过使用定制索引方案,它能够快速识别相关的时间和工作量值,提取必要数据并并行处理,从而实现跨近期和历史数据的快速查询。在实际测试中,查询时间会随着数据规模的增加呈现线性的扩展,而非指数级的增长。整个系统的目标是提供高可用性和容错能力。
Ian注意到Timestream能够根据工作负载的需求独立于查询来调整摄入和存储。例如,它可以应对因数百万新设备加入机队而产生的大量数据涌入。同样,在重大公共活动期间,查询层可以快速分配更多资源以处理数百万用户的分析查询。
他还深入探讨了Timestream的数据分区和索引方法,这是其能快速查询海量数据集的关键。Timestream根据时间和用户提供的度量值将数据划分为分区,而这个度量值通常是用于查询的高基数维度,以便实现有效的分区。在查询过程中,引擎会利用查询谓词以及这个两维分区方案来只获取相关的数据。
Ian还介绍了近年来改进客户解决方案的两个主要功能。2021年引入的多测量记录功能允许每记录存储多个度量值,而不是单一度量值。这使得服务器在处理成组指标的工作负载方面更加高效,包括CPU、内存和磁盘I/O等方面的指标。
预约查询功能使用户能够自动定期将原始数据滚动汇总并转换为目标表。聚合结果保存在速度较快的内存存储中,同时原始数据被分层存储到磁盘上,以便更快地进行仪表板和分析操作。预约查询与Timestream SQL和功能实现了无缝集成。
在2022年的一些关键更新中,Ian提到了将S3用于批量加载历史数据和将查询结果导出到数据湖的功能,以及客户自定义的分区键。从S3的CSV/Parquet文件批量加载功能允许在Timestream中查询已有的时序数据。将查询结果导出到S3可以供其他分析场景使用。客户自定义的分区键可以根据用户选择的维度来自动进行分区,而不需要预先计算度量值,从而简化了数据建模过程。
接下来,Ian转向了演讲的第二部分,引入了Epic Games的高级后端工程师Ken Hawthorne,他将分享Epic是如何利用Timestream改进其热门游戏如Fortnite、Fall Guys、Rocket League和Unreal Engine的玩家体验的。
Ken首先介绍了Epic Games的背景,这家公司因其热门游戏《Fortnite》而广为人知,同时还通过Unreal Engine技术开发了多个主要游戏系列。Epic还运营Epic Games Store,该商店托管了《Fortnite》和其他标题以及第三方游戏。该商店拥有超过23亿个账户和6800万月度活跃用户。它还提供免费的一周一次的游戏促销活动,这推动了高流量。
Epic Games Store的一个关键功能是玩家对游戏的评价,这些评价为游戏提供了视角,以帮助引导购买决策。为了填充这些评价,Epic在游戏会后调查玩家以收集反馈。然而,确定哪些玩家有资格对每款游戏进行评价是非常复杂的。诸如游戏时间、最近的活动和拥有权限的时间段等因素都会发挥作用。
Epic已经在DynamoDB中有一个现有的系统来跟踪每个用户的游戏时间。为了使得审查资格更复杂,他们决定添加Timestream。目标是重用现有的接收逻辑,获得足够的总游戏时间来同步执行资格检查,保留超过一年的历史数据,并优化性能和成本。
肯详细阐述了Epic最初的做法,即通过将游戏数据写入Timestream来复制现有的DynamoDB流程。他们创建了一个名为Timestream的新数据库服务,用于分析游戏时间模式并确定资格。尽管这种方法有效,但每分钟7,000到12,000次的最高请求量导致了节流问题。
为了优化性能,Epic进行了三个关键更改:
-
将数据聚合到每日粒度,而非每轮会话,将数据集从每周63GB减少到3.5GB,减少了18倍。已安排查询填充了聚合表。
-
将资格查询批量为单个Timestream请求,将负载从每秒200次查询降低到大约9次,降低了23倍。
-
按账户ID对数据进行分区,以提高查询性能。这符合查询访问模式。
这些更改共同提高了吞吐量,降低了成本,并在无需应用程序更改的情况下消除了节流问题。Epic继续改进其解决方案,计划像解决数据保留需求一样采用客户定义的分区等升级。
肯总结了Epic的经验教训:
- Timestream允许重新使用现有的接收系统。
- 查询速度达到了实时异步资格检查的目标。
- 磁性存储使保留超过一年的历史数据变得简单。
- Timestream的自适应规模处理非常高的请求量。
- 如安排查询、查询批量和数据分区之类的优化技术改进了性能和成本。
- Timestream提供了根据生产经验逐步改进解决方案的灵活性。
总之,通过利用Timestream的功能并根据来自数百万每日玩家的实际负载数据来进行优化,Epic Games为其领先的游戏目录创造了高性能且成本有效的解决方案,以解锁游戏时间见解并改善玩家体验。
伊恩在最后指出,Epic的经验强调了Timestream如何使客户能够构建可以弹性扩展并以符合需求的低成本构建创新的时间系列应用。他邀请与会者利用Timestream的免费试用和文档等资源开始探索在亚马逊云科技上构建自己的时间系列解决方案。
下面是一些演讲现场的精彩瞬间:
亚马逊云科技的领导者向观众介绍了Timestream,详细阐述了其架构、扩展和新功能。
随后,Epic Games分享了他们如何通过分析玩家数据来优化游戏体验。
领导者们讨论了针对物联网和视频流监控等用例的高吞吐量摄入和实时分析能力。
亚马逊云科技为客户提供灵活的架构演变,无需进行昂贵且耗时的模式迁移,即可轻松添加新的实体类型或属性。
亚马逊云科技还在Timestream中引入了客户定义的分区键,允许用户选择高基数维度作为分区键,从而提高查询性能。
领导者们详细介绍了如何使用时间范围谓词和分区键简化查询Amazon Timestream中的数据的步骤。
演讲者们还探讨了在游戏中确定正确用户权限的复杂性,需要考虑诸如游戏时间、所有权、回归玩家、补丁和DLC等多种因素。
总结
Epic Games采用了Amazon Timestream来分析玩家使用数据并提高游戏体验。首先,本文介绍了Epic Games的背景以及评估和筛选具有相关意见的积极玩家的挑战。这些挑战包括游戏时间模式等因素,使得确定最具影响力的活跃玩家的身份变得复杂。接下来,文章概述了最初Timestream的实施情况,这使得重用它现有的游戏时间追踪代码成为可能。然而,由于大规模数据集上的高容量查询,这导致了抑制问题。最后,文章详细描述了所采取的优化措施,如降采样至每日汇总和批量请求,从而降低成本并提高吞吐量。在使用前定义的分区键之前,还会使用测量名称手动对数据进行分区,从而提高性能。总之,Epic Games通过迭代初始设计和利用Timestream的灵活性,为从海量数据中提取玩家见解构建了一个可扩展的解决方案。这有助于了解使用模式,从而改进游戏体验。
演讲原文
https://blog.csdn.net/just2gooo/article/details/134830109
想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!
2023亚马逊云科技re:Invent全球大会 - 官方网站
点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!
点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!
即刻注册亚马逊云科技账户,开启云端之旅!
【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”
亚马逊云科技是谁?
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。