【问题标题】:DnnamoDB Table with hash key and no range key具有哈希键且没有范围键的 DynamoDB 表
【发布时间】:2016-04-06 22:45:41
【问题描述】:

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

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

1) 当我需要通过 id 拉出艺术家时,我唯一的选择是扫描表吗?或者如果我只使用哈希 id 进行查询会发生什么? 2) 所有这些物品是如何“隐藏”起来的?就节点/分区而言,dynamodb 如何处理这个问题? 3) 是否有一个通用的设计模式来处理唯一且没有范围键的项目?

谢谢,在这个确切的主题上找到任何东西并寻求帮助。

【问题讨论】:

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


【解决方案1】:

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

1) 是我需要拉起表格时扫描表格的唯一选择 按 id 的艺术家,或者如果我只使用哈希 id 进行查询会发生什么?

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

2) 所有这些项目如何“隐藏”存储? dynamodb如何 就节点/分区处理这个问题?

DynamoDB 将根据分区键对您的数据进行分区。我不认为他们已经确切地公布了它是如何在幕后工作的(如果我错了,请纠正我)。 they have said 是,如果每条记录都有一个唯一的分区键值,那么您的数据将分布均匀。

3) 是否有一个通用的设计模式来处理以下项目? 唯一且没有范围键?

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


通读官方文档的Guidelines for Working with Tables 部分对理解这些东西真的很有帮助。

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    相关资源
    最近更新 更多