DynamoDB事件调度表结构

时间:2019-07-15 03:55:00

标签: aws-lambda amazon-dynamodb dynamodb-queries

我正在构建一个调度应用程序,用户可以在其中邀请其他用户参加活动。但是,我在弄清楚如何设置表格方面遇到了一些麻烦。

由于DynamoDB是NoSQL数据库,我们希望尝试将相关数据保留在同一表中。但是,此问题变得有些混乱,因为我的应用程序的某些事件可能具有角色,例如组织者,计划者等。因此,我希望某个事件的用户能够接受具有特定角色的事件邀请。 / p>

因此,在这种情况下,我想使用两个表,一个存储事件(UUID,名称等)的表,另一个存储用户参加事件的事件(事件,用户名等的UUID)或用一张桌子吗?

此外,当我使用两个表创建获取事件数据的get请求时,是否必须查询user表以获取参加该事件的人数,或者我应该将该值存储在事件表中,然后在用户注册时,在用户表中添加新行,并更新事件表中的参加人数?

对于该应用程序,我正在AWS上使用Lambda函数。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

您可以拥有

  • 用户ID为哈希键
  • eventid为范围键
  • 角色为 LSI

您还可以在事件ID上添加 GSI 以根据事件ID进行查询

样本表:

  1. 用户1,事件1,组织者
  2. 用户2,事件1,计划者
  3. user3,event1,与会者
  4. 用户4,事件1,参与者