小编RJN*_*WLY的帖子

如何为 dynamodb 表中较早的项目设置新属性的默认值?

我有一个仅包含哈希键的表,现在用例需要创建一个以creationDate 作为范围键的GSI。

我通过在所有新项目中将creationDate 值指定为数字来实现此目的。

但是该表已经有大约 5000 个条目没有为creationDate 设置值,并且这些条目不包含在 GSI 上的扫描或查询操作的结果中。作为此问题的解决方案,我想对当前没有 createDate 值的所有条目使用默认值。如何在 Java 中使用 dynamodbmapper 来执行此操作,或者有没有办法使用 AWS 控制台来执行此操作?

java amazon-web-services amazon-dynamodb

9
推荐指数
1
解决办法
2万
查看次数

如何在dynamoDB中连接表?

我知道DynamoDB不支持连接表,但这是我的用例:

(使用类似示例隐藏确切的详细信息,而不是发布作业问题)

我有四张桌子

Person ( unique_id(hash key), Name(range key), Age, Gender)<br>
UIDtoSIDTable ( uid(hash key) , sid)<br>
SIDtoStudentID(sid(hash key), studentID, other attributes)<br>
StudentDetails(studentID(hash key), schoolName, Grades)
Run Code Online (Sandbox Code Playgroud)

我正在使用dynamodbmapper.

我的应用程序需要在表格中显示以下数据:

unique_id, Name, Age (from Person table)
sid 
SchoolName, Grades (from studentDetails table)
Run Code Online (Sandbox Code Playgroud)

现在我的实施是:

  1. 扫描uidtosidTable为列表中的所有uid-sid对说list1
  2. 对于list1中的每个sid,从SIDtoStudentID表中查询studentID
  3. 对于来自Person表的每个uid查询,以及每个studentID从StudentDetails表中获取数据

这个实现的问题是需要很长时间才能完成,超过5分钟就能完成1000个项目.

如果它是一个关系数据库,我会加入这四个表,并获得所需的数据.

如何实现这一点是有效的动力学?

java amazon-web-services nosql amazon-dynamodb

2
推荐指数
1
解决办法
5347
查看次数