我将如何设计 DynamoDB 模式,其中用户或事件等重复数据可能会发生变化

问题描述 投票:0回答:0

想象一下,我正在尝试设计一个模式(或一组模式)来运行一个有组、事件和用户的聚会网站,其中组有很多事件,事件有很多用户(与会者),用户是许多组的一部分.

假设我有两个仪表板,一个用户的仪表板显示他们在多个组中的事件,包括还有谁要去。

该组还有一个仪表板,其中列出了该组的所有事件,包括以下相同信息。

我对schema(不管是一张表还是多张表)的想法基本上是

我的问题是:

  1. 如何为参加演出的用户加载图像。如果我要在事件文档/记录中重复用户数据,我将面临图像不再适用或用户更改姓名(这种情况更为罕见)的风险。基本上,如果用户不断更改他们的个人资料图片,则每个事件都会有创建事件时的先前版本。
  2. 如果事件更改了信息(例如描述),我如何才能在用户的事件视图中看到更新的信息?

我的理解是我会拉取事件,然后向发电机发出请求以获取用户,但这似乎是非常错误的。有没有更好的方法来构建这些数据?

说“DynamoDB 不是这个的正确工具”是完全合理的,但我很难相信这样一个简单的设计会在这里引起问题。

我唯一能想到的另一件事是使用流来更新以前的记录,但是如果每个配置文件更改都会更新以前事件数据的年份(假设每个事件都重复配置文件图片),这似乎很昂贵。

database-design amazon-dynamodb database-schema
© www.soinside.com 2019 - 2024. All rights reserved.