Amazon web services 对AWS DynamoDB';钥匙';

Amazon web services 对AWS DynamoDB';钥匙';,amazon-web-services,amazon-dynamodb,key,primary-key,Amazon Web Services,Amazon Dynamodb,Key,Primary Key,我到处都见过这些术语- 主键 排序键 分区密钥 辅助键 但我似乎对这些名字感到困惑: 分区键和主键是一样的吗?它们是什么 排序键和辅助索引是否也一样?如果我添加secondary key,它将扮演什么角色 另外,在创建DynamoDB表时,我添加了“Order ID”作为主键-现在,我需要将其替换为“User ID”,并将“Order ID”作为辅助键 因此,Order ID将是“辅助键”,而User ID将是“主键” 如何实现这一目标? 感谢您的帮助!:)谢谢 分区键和主键是一样的吗

我到处都见过这些术语-

  • 主键
  • 排序键
  • 分区密钥
  • 辅助键

但我似乎对这些名字感到困惑:

  • 分区键和主键是一样的吗?它们是什么
  • 排序键和辅助索引是否也一样?如果我添加secondary key,它将扮演什么角色
另外,在创建DynamoDB表时,我添加了
“Order ID”
作为主键-现在,我需要将其替换为
“User ID”
,并将“
Order ID
”作为辅助键

因此,
Order ID
将是“辅助键”,而
User ID
将是“主键” 如何实现这一目标?

感谢您的帮助!:)谢谢

分区键和主键是一样的吗?它们是什么

没有

主键是唯一标识表中每个项目的键

分区键是一种可能的主键,另一种是分区键+排序键(即,在其他数据库系统中称为“复合”主键)

排序键和辅助索引是否也一样?如果我添加secondary key,它将扮演什么角色

排序键和辅助索引也是不同的东西

排序键可以用作主键中“复合键”中的“第二个元素”。换句话说,主键可以是“分区键”或“分区键+排序Keu”类型

二级索引完全是另一回事。辅助索引允许您对表执行不同类型的优化查询。它需要知道如何对项目进行分区和排序:对于本地二级索引,您只需指定一个排序键,因为它将隐式使用与主键相同的分区键。对于全局辅助索引,必须指定分区键,并且可以选择指定排序键(因此在某种意义上,GSI的定义方式与主键类似)

看看这个:

它用很多例子解释了这一切

在创建DynamoDB表时,我添加了'Order ID'作为主键-现在,我需要用'User ID'替换它,并将'Order ID'作为辅助键

你不能这么做

无法更改DynamoDB表的主键

以下是相关文件:

我到处都能看到这些术语-[…]

最后,请注意,您可能还会看到其他一些术语。在过去,DynamoDB对“分区键”和“排序键”使用了不同的术语。它们过去分别被称为“散列键”和“范围键”。您可能会在SDK、CLI参数等中看到很多对这些名称的引用

分区键和主键是一样的吗?它们是什么

没有

主键是唯一标识表中每个项目的键

分区键是一种可能的主键,另一种是分区键+排序键(即,在其他数据库系统中称为“复合”主键)

排序键和辅助索引是否也一样?如果我添加secondary key,它将扮演什么角色

排序键和辅助索引也是不同的东西

排序键可以用作主键中“复合键”中的“第二个元素”。换句话说,主键可以是“分区键”或“分区键+排序Keu”类型

二级索引完全是另一回事。辅助索引允许您对表执行不同类型的优化查询。它需要知道如何对项目进行分区和排序:对于本地二级索引,您只需指定一个排序键,因为它将隐式使用与主键相同的分区键。对于全局辅助索引,必须指定分区键,并且可以选择指定排序键(因此在某种意义上,GSI的定义方式与主键类似)

看看这个:

它用很多例子解释了这一切

在创建DynamoDB表时,我添加了'Order ID'作为主键-现在,我需要用'User ID'替换它,并将'Order ID'作为辅助键

你不能这么做

无法更改DynamoDB表的主键

以下是相关文件:

我到处都能看到这些术语-[…]

最后,请注意,您可能还会看到其他一些术语。在过去,DynamoDB对“分区键”和“排序键”使用了不同的术语。它们过去分别被称为“散列键”和“范围键”。您可能会在SDK、CLI参数等中看到很多对这些名称的引用