您建议使用哪种AWS服务来存储游戏数据?

时间:2018-03-19 23:45:00

标签: database rest amazon-web-services

我制作的游戏需要一个有2个桌子的数据库。必须通过api端点访问数据库。表1是用户名和密码。表2是用户名和分数。我需要以下方法:

  1. 在表1中创建新用户和密码(必须是唯一的)。
  2. 如果表2中存在,则创建或更新分数。
  3. 获取特定的用户名和得分以及排名。
  4. 获得前10名和用户名。
  5. 从传入的用户名列表中获取任意数量的用户名和分数。
  6. 我试图使用DynamoDB和Lambda函数来完成这项工作,但它似乎没有获得我想要的灵活性。我将不得不扫描整个名称表,然后找到前10名,这是很多处理。还有其他建议吗?

    我不确定会有多少用户,但我认为会有很多用户。成本是一个因素,因此最便宜的解决方案将是最好的。

1 个答案:

答案 0 :(得分:1)

用于身份验证:Amazon Cognito

对于存储:Amazon DynamoDB

将分数填入两个表格。

表1:按用户和游戏

  • 分区键:用户ID +游戏ID
  • 排序键:游戏#(对游戏实例的唯一引用)

在检索为特定用户播放的游戏时使用此表。

表2:按比赛和得分

  • 分区键:游戏ID
  • 排序键:得分

在检索给定游戏的高分时(使用分数降序排序)时使用此表。