2017-04-25 39 views
0

我正在将数据库从mongodb迁移到dynamodb,并尝试了解最佳做法,特别是使用辅助本地索引和排序键时。我应该在DynamoDB中使用二级索引还是单独的ID查找表?

我的应用程序从网上获取html数据,并将数据加载到多个表/集合中。在提取时,它会为每个项目提供一个extracted_id,这是它从中提取的网站所独有的。在加载项目之前,它会为每个项目提供一个UUID作为其主键/分区键。

问题:为了避免分配不同的UUID相同的extracted_id我查询数据库来检查实体具有预先存在的entity_uuid

当前解决方案:目前在mongodb中,我有两组表/集合。一个用于存储所有项目,另一个用于存储实体的extracted_id(作为键)/entity_uuid(作为值)查找表。

更好的解决方案?:当我转移到DynamoDB时,最好是仅创建一个数据库作为本地二级索引,以便不存储重复数据?我不确定,因为文档对use indexes sparingly.说我不使用extracted_id除了提供项目与他们的uuid为给定的网站。

希望这是有道理的,我是新来的AWS/DynamoDB,并会感谢提到的任何提示/更好的解决方案。

回答

0

为什么不只是制作新的DynamoDB表的分区键extracted_id并使用ConditionExpression attribute_not_exists(extracted_id)来防止您的应用程序写入重复条目?

相关问题