Amazon dynamodb 如何使用Amazon DynamoDB建模1到N关系以满足单个读写?
我试图从标准的RDBMS背景中学习正确的DynamoDB建模 我尝试反规范化的关系数据库如下所示: two-factorDetailAmazon dynamodb 如何使用Amazon DynamoDB建模1到N关系以满足单个读写?,amazon-dynamodb,dynamodb-queries,amazon-dynamodb-index,Amazon Dynamodb,Dynamodb Queries,Amazon Dynamodb Index,我试图从标准的RDBMS背景中学习正确的DynamoDB建模 我尝试反规范化的关系数据库如下所示: two-factorDetail Id(主键) 地位 电话号码(fk) 电话号码 Id(主键) 电话号码 类型 作者尝试 日志 Id(主键) 双因子序列(fk) 事件类型 创建数据 我的单表架构如下所示: 如您所见,同一电话号码可由许多TwoFactorDetail实体使用 考虑以下两种读/写模式: 读取TwoFactorDetail元数据,包括电话号码、电话号码类型和TwoFac
- Id(主键)
- 地位
- 电话号码(fk)
- Id(主键)
- 电话号码
- 类型
- 作者尝试
- Id(主键)
- 双因子序列(fk)
- 事件类型
- 创建数据
- 读取TwoFactorDetail元数据,包括电话号码、电话号码类型和TwoFactorDetail.Id的尝试
- 按电话号码更新电话号码
也就是说,由于电话号码可以在多个双因素详细信息实体之间共享,并且我希望在每个分区中复制此数据以便于读取,因此我不确定如何以智能方式更新与电话号码匹配的所有项目,以便使用更少的请求量。我的解决方案是按如下方式更改我的表模型:
- 将PhoneNumber元数据项作为附加属性移动到TwoFactorDetail元数据项,而不是单独的项
- 在PhoneNumber属性上创建一个GSI,使PhneNumber成为分区键,这样我就可以跨分区使用它获取所有TwoFactorDetail实体