简介:使用 Amazon DynamoDB 对游戏玩家数据建模
按照分步说明了解高级数据建模模式。
概述
在本实验中,您将学习 Amazon DynamoDB 中的高级数据建模模式。使用 DynamoDB 对数据建模之前,您有必要考虑一下系统将如何访问您的数据(访问模式)。我们将逐步完成一个多人游戏的示例,讨论游戏中的访问模式,并展示如何使用二级索引和事务来设计一个 DynamoDB 表以处理访问模式。
本实验假设您熟悉 DynamoDB 基本概念,例如表、条目、主键和二级索引。如果您不熟悉这些概念,请参阅有关如何使用 Amazon DynamoDB 创建和管理非关系型数据库的实验。
为什么在游戏中使用 DynamoDB?
DynamoDB 是一款常用于游戏的数据库服务,因为它专为大规模使用场景而设计,能够满足这类场景中的关键需求:在应用程序的增长过程中保持性能的一致性。
在游戏中使用 DynamoDB 的一些主要原因包括:
- 可扩展性:DynamoDB 可以在不影响性能的情况下扩展到 100 TB 以上。
- 基于 REST 的简单 API:DynamoDB 可通过 HTTP(S) 进行访问,并使用 AWS Identity and Access Management (IAM) 进行身份验证。
- 全托管:您无需管理服务器,也无需对基础设施应用补丁。DynamoDB 会处理升级、备份和其他管理任务,因此您可以专注于游戏开发。
AWS 使用经验
中级
完成时间
120 分钟
所需费用
不到 2 美元(假设所有服务都运行 2 小时)*
教程前提条件
使用的技术:
- 有效 AWS 账户**
- 浏览器:AWS 推荐 Chrome
- Amazon DynamoDB
- Amazon Cloud9
- 适用于 Python 的 AWS SDK (Boto3)
*此估算值假设您在整个教程中都遵循推荐的配置,并在 2 小时内终止所有资源。
**在过去 24 小时内新创建的账户可能无法使用此项目所需的资源。
模块
本教程分为五个短模块。您必须按顺序完成每个模块,完成一个模块后才能继续学习下一个模块。
- 背景和设置(20 分钟):了解如何对 DynamoDB 表建模以处理应用程序的访问模式
- 规划数据模型(20 分钟):构建实体关系图并预先规划访问模式
- 核心用途:用户画像和游戏(20 分钟):设计 DynamoDB 表的主键并开启核心访问模式
- 设计游戏访问模式(40 分钟):使用全局二级索引来查找打开的游戏
- 清除和后续步骤(20 分钟):清除本实验中创建的资源