【问题标题】:dynamodb partition key for questions table问题表的 dynamodb 分区键
【发布时间】:2016-08-08 07:59:03
【问题描述】:

我的应用程序的主表将包含问题。以下哪个选项将是分区键的更好选择?

  1. 将问题本身保留为分区键。问题最长可达 200 个字符
  2. 使用 redis 跟踪计数器并将其用作分区键

【问题讨论】:

  • 另一种可能性是基于时间戳和可能提出问题的用户的唯一 ID 创建复合键,其中哈希键是用户 ID,时间是范围键。这是关于您最常进行的查询以及如何有效地实施它们。

标签: database-design amazon-dynamodb


【解决方案1】:

选择选项 1 将是有史以来最大的错误,因为每当您搜索该问题时,您需要传递与表中完全相同的值,即使字符不同也会导致找不到问题。

您可以使用选项 2,即拥有一个从 redis 跟踪的随机散列密钥。这将有助于从 DynamoDB 中查询数据。

另一个优点是 HOT 键的可能性较小,这最终会导致表的吞吐量问题。

请参阅最佳实践this 以获得进一步帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多