使用 Amazon DynamoDB 对游戏玩家数据建模

简介:使用 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 小时内新创建的账户可能无法使用此项目所需的资源。

模块

本教程分为五个短模块。您必须按顺序完成每个模块,完成一个模块后才能继续学习下一个模块。

  1. 背景和设置(20 分钟):了解如何对 DynamoDB 表建模以处理应用程序的访问模式
  2. 规划数据模型(20 分钟):构建实体关系图并预先规划访问模式
  3. 核心用途:用户画像和游戏(20 分钟):设计 DynamoDB 表的主键并开启核心访问模式
  4. 设计游戏访问模式(40 分钟):使用全局二级索引来查找打开的游戏
  5. 清除和后续步骤(20 分钟):清除本实验中创建的资源

背景和设置