AWS DynamoDB - 分区密钥和密钥分片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS DynamoDB - 分区密钥和密钥分片相关的知识,希望对你有一定的参考价值。

我是Amazon DynamoDB的新手。我正在阅读文档,在这里清楚地显示一键只能分配给一个分区,但是一个分区可以有多个键。我的问题是:

让我们说我的partition1有两个键S1和S2。在达到10GB大小或3000 RCU或1000 WCU的阈值时,DynamoDB将创建新分区并在新分区中移动S2密钥,即partition1_0。

但是现在密钥分片将如何发生,因为两个分区都有单个密钥,即partition1具有S1而partition1_0具有S2,如果partition1再次突破阈值并且创建了新分区,我们可以期望两个分区中的密钥S1。

如果我的问题不明确,请告诉我。

答案

答案实际上是在文档中,您将从DynamoDB中收到错误。虽然我认为当您拥有本地二级索引时,10gb限制只是一个问题,否则对数据量没有实际限制:

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LSI.html#LSI.ItemCollections.SizeLimit

如果项目集合超过10 GB限制,DynamoDB将返回ItemCollectionSizeLimitExceededException,您将无法向项目集合添加更多项目或增加项目集合中项目的大小。 (仍然允许缩小项目集合大小的读取和写入操作。)您仍然可以将项目添加到其他项目集合中。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#limits-partition-sort-keys

排序键值

通常,对每个分区键值的不同排序键值的数量没有实际限制。

具有本地二级索引的表例外。使用本地二级索引时,项目集合大小存在限制:对于每个不同的分区键值,所有表和索引项的总大小不能超过10 GB。这可能会限制每个分区键值的排序键数量。有关更多信息,请参阅项目集合大小限制。

以上是关于AWS DynamoDB - 分区密钥和密钥分片的主要内容,如果未能解决你的问题,请参考以下文章

对于使用DynamoDB的小型应用程序,统一分布式分区键是否有任何实际意义?

AWS Cloudformation 将 API 密钥链接到 API 网关

使用 REST 客户端 POSTMAN 使用 api 密钥调用 AWS api 网关端点

计算AWS lambda调用并按api键分段数据

DynamoDB 静态加密

可以将HASH密钥更新为预先存在的Dynamodb全局二级索引的另一个属性吗?