Amazon dynamodb 如果全局二级索引中的哈希和范围键相同,数据如何存储在dynamo db中

Amazon dynamodb 如果全局二级索引中的哈希和范围键相同,数据如何存储在dynamo db中,amazon-dynamodb,Amazon Dynamodb,我正在dynamo db中创建全局二级索引,现在我想知道散列键和范围键中存储的项是如何相同的?它们将以什么顺序存储在表中?如果我正确地阅读了您的问题,您会询问两个不同的对象,每个对象在主表中都有一个唯一的主键,它们投影到GSI中,在GSI中具有相同的哈希/范围键 范例 主表 Hash:Hash\u id Range:Range\u id GSI 哈希:gsi\U哈希\U id 范围:gsi\U范围\U id 数据 { hash_id: 123, range_id: 'abc',

我正在dynamo db中创建全局二级索引,现在我想知道散列键和范围键中存储的项是如何相同的?它们将以什么顺序存储在表中?

如果我正确地阅读了您的问题,您会询问两个不同的对象,每个对象在主表中都有一个唯一的主键,它们投影到GSI中,在GSI中具有相同的哈希/范围键

范例

主表

  • Hash:Hash\u id
  • Range:Range\u id
GSI

  • 哈希:gsi\U哈希\U id
  • 范围:gsi\U范围\U id
数据

{
  hash_id: 123,
  range_id: 'abc',
  gsi_hash_id: 'same',
  gsi_range_id: 'also_same'
}

{
  hash_id: 234,
  range_id: 'bcd',
  gsi_hash_id: 'same',
  gsi_range_id: 'also_same'
}
简单的回答是:这些项目没有特定的顺序


答案很长:

那么,如果一个新项目被添加到gsi中,会发生什么情况呢?它们将被插入顶部、底部或任何没有特定顺序意味着可以插入任何位置的地方。请记住,这些文档在顺序上是等价的。如果您正在寻找特定问题的解决方案,我建议您描述一下您的用例。