带有哈希键且没有范围键的DnnamoDB表

时间:2016-04-06 22:45:41

标签: amazon-web-services hash range amazon-dynamodb

我有一个艺术家和艺术品。因此,在我的艺术家表中,只有一个唯一的哈希键(艺术家ID),没有范围键。然后,我有一个带有哈希键(艺术家ID)和愤怒键(艺术品ID)的艺术品表。

我试图理解dynamodb如何处理艺术家表到分区和分配项目到分区,因为每一行都是唯一的。

1)当我需要通过id提取艺术家时,我唯一的选择是扫描表格,或者如果我只使用哈希ID进行查询会发生什么? 2)所有这些物品如何存放在“引擎盖下”?对于节点/分区,dynamodb如何处理这个问题? 3)是否有一个共同的设计模式来处理唯一且没有范围键的项目?

谢谢,热门在这个确切的主题上发现了什么,并寻求帮助。

1 个答案:

答案 0 :(得分:2)

首先,"哈希键"被称为"分区键"在Amazon DynamoDB文档中。 "范围键"被称为"排序键"在文档中。如果您使用这些搜索字词,它可能会帮助您找到有关此内容的信息。

  

1)当我需要拉起桌子时,我是唯一可以扫描桌面的选项   id的艺术家,或者如果我只使用哈希id进行查询会发生什么?

排序键是可选的,您只需将分区键传递给查询,即可使用该键获取记录。在这种情况下,您无需进行全表扫描。

  

2)如何存储所有这些物品"引擎盖下#34;?怎么做dynamodb   处理节点/分区?

DynamoDB将根据分区键对数据进行分区。我不认为他们已经准确地公布了它的工作原理(如果我错了,请纠正我)。 they have said的含义是,如果每条记录都有唯一的分区键值,那么您的数据将以良好的一致性分布。

  

3)是否存在处理项目的通用设计模式   独特且没有范围键?

是的,在这种情况下排序键是可选的,所以如果你没有,那就不要使用它。

阅读官方文档的Guidelines for Working with Tables部分对于理解这些内容非常有帮助。