【发布时间】:2022-02-06 22:02:54
【问题描述】:
我正在了解有关 DynamoDB 的更多信息,并且我正在构建一个完整的无服务器项目,并将其用作我的主数据库。
该项目是一个简单的投票应用程序,用户可以在其中创建和投票。
SQL 数据库的数据模型非常简单,实际上这就是它的样子
但是对于 DynamoDB,我需要考虑访问模式,这让我有点困惑。
在观看了一些与数据建模无关的 DynamoDB 课程后,我能够按照单表设计提出这个聚合视图。
这是在 NoSQL Workbench 应用程序中完成的
同一张表中有相同的 3 个实体,但我有一个问题
这些是我的应用所需的访问模式,至少是我现在能想到的那些
[Put, Delete, Get] User by userId
[Get] All Users by pollId (who voted in what)
[Put, Delete, Get] Poll by pollId
[Put, Delete, Get] All Polls by userId
[Put, Delete, Get] All Polls by visibility
[Create, Get] Poll Votes by pollId
我是否只需要全局二级索引来满足这些访问模式?
我设计数据的方式有什么缺陷吗?
您还有其他建议吗?
【问题讨论】:
标签: database nosql amazon-dynamodb