【问题标题】:DynamoDB Key DesignDynamoDB 密钥设计
【发布时间】:2020-10-21 07:41:35
【问题描述】:

我有一个包含以下键的表:

PKey(分区键) SKey(排序键)

我想存储一系列国家/地区的假期,并回答以下 2 个问题:

  • 给我 2020 年几个月的所有假期
  • 给我 2020 年特定国家/地区几个月范围内的所有假期

目前 PKey 保存年份,SKey 保存月份和日期 (12-31)。我已将 Country (ISO) 添加到 SKey,但我无法回答这两个问题。是否有另一种可行的设计?我正在尝试避免 GSI。

标记

【问题讨论】:

    标签: amazon-dynamodb dynamodb-queries


    【解决方案1】:

    您是否考虑过使用本地二级索引 (LSI) 而不是 GSI? LSI 无需额外费用。

    您可以将表格排序键设置为“县”-“月”-“日”

    那么您的第二个访问要求可以由

    提供服务
    Query(pkey = "2020", skey between "GB-10-01" and "GB-12-31")
    

    那么您的 LSI 排序键将只是“月”-“日”,并且可以满足您的第一个访问要求。

    Query(index='MYLSI', pkey = "2020", skey between "10-01" and "12-31")
    

    【讨论】:

      猜你喜欢
      • 2014-09-10
      • 1970-01-01
      • 2013-08-07
      • 2019-06-22
      • 2016-07-22
      • 2020-02-16
      • 2016-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多