我有一个艺术家和艺术品。因此,在我的艺术家表中,只有一个唯一的哈希键(艺术家ID),没有范围键。然后,我有一个带有哈希键(艺术家ID)和愤怒键(艺术品ID)的艺术品表。
我试图理解dynamodb如何处理艺术家表到分区和分配项目到分区,因为每一行都是唯一的。
1)当我需要通过id提取艺术家时,我唯一的选择是扫描表格,或者如果我只使用哈希ID进行查询会发生什么? 2)所有这些物品如何存放在“引擎盖下”?对于节点/分区,dynamodb如何处理这个问题? 3)是否有一个共同的设计模式来处理唯一且没有范围键的项目?
谢谢,热门在这个确切的主题上发现了什么,并寻求帮助。
答案 0 :(得分:2)
首先,"哈希键"被称为"分区键"在Amazon DynamoDB文档中。 "范围键"被称为"排序键"在文档中。如果您使用这些搜索字词,它可能会帮助您找到有关此内容的信息。
1)当我需要拉起桌子时,我是唯一可以扫描桌面的选项 id的艺术家,或者如果我只使用哈希id进行查询会发生什么?
排序键是可选的,您只需将分区键传递给查询,即可使用该键获取记录。在这种情况下,您无需进行全表扫描。
2)如何存储所有这些物品"引擎盖下#34;?怎么做dynamodb 处理节点/分区?
DynamoDB将根据分区键对数据进行分区。我不认为他们已经准确地公布了它的工作原理(如果我错了,请纠正我)。 they have said的含义是,如果每条记录都有唯一的分区键值,那么您的数据将以良好的一致性分布。
3)是否存在处理项目的通用设计模式 独特且没有范围键?
是的,在这种情况下排序键是可选的,所以如果你没有,那就不要使用它。
阅读官方文档的Guidelines for Working with Tables部分对于理解这些内容非常有帮助。