DynamoDB 事件调度 Table 结构
DynamoDB Event Scheduling Table Structure
我正在构建一个日程安排应用程序,用户可以在其中邀请其他用户参加活动。但是,我在弄清楚如何设置 table 时遇到了一些麻烦。
由于 DynamoDB 是一个 NoSQL 数据库,我们希望尝试将相关数据保存在同一个 table 中。但是,这个问题变得更加混乱,因为我的应用程序的某些事件可能具有角色,例如组织者、计划者等。因此,我希望事件的用户能够接受具有特定角色的事件邀请。
因此,在这种情况下,我是否想使用两个 tables,一个存储事件(UUID、名称等),另一个让用户参加事件(事件的 UUID , 用户名等)或使用一个 table?
此外,如果我使用两个 table 创建获取事件数据的获取请求,我是否必须查询用户 table 以获取参加该事件的人数或者我应该将该值存储在事件 table 中,然后当用户注册时,向用户添加一个新行 table,并更新参加事件的人数 table?
对于我在 AWS 上使用 Lambda 函数的应用程序。
任何帮助将不胜感激,谢谢!
你可以
- 用户 ID 为 hash-key
- eventid 为 range-key
- 担任 LSI
您还可以在 event-id 上有一个 GSI 以根据 eventid
进行查询
样本table:
- 用户 1、活动 1、组织者
- 用户 2、事件 1、策划人
- user3, event1, 与会者
- user4, event1, 与会者
我正在构建一个日程安排应用程序,用户可以在其中邀请其他用户参加活动。但是,我在弄清楚如何设置 table 时遇到了一些麻烦。
由于 DynamoDB 是一个 NoSQL 数据库,我们希望尝试将相关数据保存在同一个 table 中。但是,这个问题变得更加混乱,因为我的应用程序的某些事件可能具有角色,例如组织者、计划者等。因此,我希望事件的用户能够接受具有特定角色的事件邀请。
因此,在这种情况下,我是否想使用两个 tables,一个存储事件(UUID、名称等),另一个让用户参加事件(事件的 UUID , 用户名等)或使用一个 table?
此外,如果我使用两个 table 创建获取事件数据的获取请求,我是否必须查询用户 table 以获取参加该事件的人数或者我应该将该值存储在事件 table 中,然后当用户注册时,向用户添加一个新行 table,并更新参加事件的人数 table?
对于我在 AWS 上使用 Lambda 函数的应用程序。
任何帮助将不胜感激,谢谢!
你可以
- 用户 ID 为 hash-key
- eventid 为 range-key
- 担任 LSI
您还可以在 event-id 上有一个 GSI 以根据 eventid
进行查询样本table:
- 用户 1、活动 1、组织者
- 用户 2、事件 1、策划人
- user3, event1, 与会者
- user4, event1, 与会者