如何优化 DynamoDB 数据模型。请指教

问题描述 投票:0回答:1

我目前正在为管理锻炼计划的应用程序开发 DynamoDB 数据模型 - 尝试获取有关 DynamoDB 的更多知识。

每个计划有多个锻炼,每个锻炼有多个练习。这是我当前的表结构:

PK SK 其他属性
计划 计划#001 计划标题、计划描述等
计划 计划#002 计划标题、计划描述等
计划 计划#001#锻炼#001 锻炼名称、锻炼详情等
计划 计划#001#锻炼#002 锻炼名称、锻炼详情等
计划 计划#002#锻炼#001 锻炼名称、锻炼详情等
计划 计划#001#锻炼#001#锻炼#001 运动名称、肌肉组等
计划 计划#001#锻炼#001#锻炼#002 运动名称、肌肉组等

问题: 当前结构对所有项目使用相同的分区键 (PK = PLAN),无论它们是计划、锻炼还是练习。该结构没有清楚地反映计划、锻炼和练习之间的关系 - 我无法区分它们以提出适当的请求来检索它们。

所需的访问模式:

  • 检索所有计划及其元数据(例如 PlanTitle、PlanDescription)。
  • 检索特定计划的所有锻炼。
  • 检索特定锻炼的所有练习。

我是 DynamoDB 结构新手,任何帮助将不胜感激!

尝试重组PK和SK

amazon-web-services amazon-dynamodb nosql
1个回答
0
投票

将排序键的前导部分设为分区键。

PK SK 其他属性
计划#001 计划#001 计划标题、计划描述等
计划#001 锻炼#001 锻炼名称、锻炼详情等
计划#001 锻炼#002 锻炼名称、锻炼详情等
计划#001 锻炼#001#锻炼#001 运动名称、肌肉组等
计划#001 锻炼#001#锻炼#002 运动名称、肌肉组等
© www.soinside.com 2019 - 2024. All rights reserved.