View a markdown version of this page

GAMESUS01-BP01 使用适合用户内容、订阅者信息和游戏内购买模式的存储技术 - 游戏行业镜头

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

GAMESUS01-BP01 使用适合用户内容、订阅者信息和游戏内购买模式的存储技术

您应按类型、保留需求和访问频率对数据进行分类。这使您能够为游戏或后端服务生成的各种数据类型选择最优化的存储解决方案。快速变化的数据应存储在键值或内存数据库服务中。交易数据应存储在关系数据库服务中。大型文件、游戏资产或用户生成的内容应存储在对象存储服务中。

在未建立这种最佳实践的情况下暴露的风险等级:高

实施指导

游戏生成和消耗各种各样的数据类型,需要针对访问频率、延迟和成本进行优化的存储解决方案。存储的数据应使用标签进行分类,以区分可以删除或需要长期存储的数据。

以下服务适用于各种游戏用例:

Amazon Aurora(兼容 MySQL 和 PostgreSQL)提供高可用性、低延迟和自动扩展,使其成为处理大量交易数据的绝佳选择,例如玩家账户管理和身份验证、游戏内经济、排行榜和玩家排名、游戏状态持久化、活动和活动管理以及多区域和高可用性部署。

Amazon DynamoDB 是一个完全托管的 NoSQL 数据库,以其低延迟、高吞吐量和无缝可扩展性而闻名,这使其成为处理实时玩家数据、会话管理、库存、游戏内经济、实时多人游戏状态、配对、事件记录以及面向全球受众扩展的理想之选。

Amazon DocumentDB(与 MongoDB 兼容)提供可扩展、低延迟的面向文档的数据库服务,非常适合存储灵活的半结构化数据,例如库存系统、玩家资料和自定义、游戏世界和程序生成的内容、社交和玩家互动、分析和行为跟踪以及游戏中的元数据和配置。

亚马逊 ElastiCache支持使用Redis或Memcached进行内存缓存,提供快速的数据访问和更短的响应时间,这对于实时多人游戏至关重要,在这些游戏中,速度和性能对于流畅的用户体验至关重要。 ElastiCache 在游戏中用于实时排行榜、会话管理、缓存游戏元数据、游戏内聊天和消息、配对、实时分析和遥测,以及针对高流量事件进行扩展。

亚马逊简单存储服务 (S3) 可用于存储游戏资产、视频、图片、文本日志文件等对象。S3 是一项对象存储服务,提供业界领先的可扩展性、数据可用性、安全性和性能。

如果它提供支持频繁和频繁数据访问的多种存储类别以及经济实惠的存档存储。对于开发过程中经常访问的数据,工作室应将对象存储在 S3 标准中,以实现低延迟和高吞吐量性能。对于经常从热变冷的数据,反之亦然,工作室应调查 S3 Intelligent-Tiering 。 Intelligent-Tiering 监控数据的访问模式,并自动将数据移动到最具成本效益的访问层。

对于需要高吞吐量、低延迟且可以将其生活在单一可用区中的工作室,请使用 S3 Express One Zone。与 S3 标准相比,这可以将数据复制到单个可用区,并且可以提高数据访问速度。为了满足历史数据的深度存档需求,亚马逊还提供亚马逊 Glacier。Amazon Glacier 存储类专为数据存档而构建,可为您提供高性能、检索灵活性和低成本的云端档案存储。

Amazon Elastic Block Store 可用于存储游戏服务器的二进制文件、可执行文件和游戏服务器或资产存储库运行所需的配置。您应该拍摄快照并删除未连接到 EC2 实例的未使用卷。这可以减轻您产生的存储费用,同时降低不需要的服务和硬件的使用量。

实施步骤

  • 按类型、保留需求和访问频率对游戏数据进行分类,标记数据以区分短期和长期存储需求。

  • 使用 Amazon Aurora 获取交易数据,使用 DynamoDB 获取实时玩家数据,使用 DocumentDB 获取半结构化数据,以及对时间关键型游戏信息 ElastiCache 进行低延迟缓存。

  • 将游戏资产、日志和用户生成的内容存储在 Amazon S3 中,根据访问模式和存档需求选择适当的存储类别(例如 Intelligent-Tiering,One Zone 和 Glacier),并将 EBS 用于游戏服务器二进制文件和配置并定期进行快照管理。