【发布时间】:2019-01-03 12:30:53
【问题描述】:
您对“您应该在 DynamoDB 应用程序中维护尽可能少的表。大多数设计良好的应用程序只需要一个表。”这句话的满意度如何?
我已经列出了 NoSQL 设计的用例,但将自己限制在单个表设计中会使设计变得复杂,并且要求每个使用 NoSQL 表的开发人员都了解遵循分区和性能提升原则的逻辑复杂性。只是为了写一些我的应用程序做以下事情:
- 在移动设备上注册用户帐户。
- 允许多个用户在任何安装了应用程序的移动设备上检查他们的帐户。
- 记录用户活动,每个用户一天内可以进行 10 到 1000 次活动。
- 有一个批处理作业会定期检查是否有任何用户帐户获得更新,然后它将通知发送到所有用户已登录的设备(作为上次登录设备的用户)。
- 当然,这些 FCM 通知是基于用户对通知的偏好。
- 最后,用户帐户与唯一的电子邮件地址相关联,用户可以从任何设备更新其帐户的所有其他属性。
我发现批处理作业定期扫描整个表,迫使我创建第二个表,以便我可以生成尽可能多的线程来处理行。
我怎样才能让这一切都放在一张桌子上?
【问题讨论】:
标签: nosql amazon-dynamodb partitioning