如果具有相同分区密钥的项目超过10GB,LSI将如何工作?

如果具有相同分区密钥的项目超过10GB,LSI将如何工作?

问题描述:

AWS DynamoDB允许具有相同分区键的项目超过10GB(请参阅Is there a DynamoDB max partition size of 10GB for a single partition key value?如果具有相同分区密钥的项目超过10GB,LSI将如何工作?

但是如果我的模式有LSI,会发生什么情况? (参见http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LSI.html

对于任何本地二级索引,可以存储每 不同分区键值数据的最多10 GB。

不确定LSI上的这个10GB是硬限制还是DynamoDB有一些内部机制来缓解它。

它看起来像一个硬性的限制,如果超过了它,有一个记录的错误响应。

首先,definion:

在DynamoDB中,项目集合是任何一组有一个表和相同的分区键值所有本地二级指标的项目。现在

,一个项目集合大小的限制:

任何项目集合的最大容量为10 GB。此限制不适用于没有本地二级索引的表;只有具有一个或多个本地二级索引的表受到影响。

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

行情是从DynamoDB开发者指南中的LSI文档:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LSI.html#LSI.ItemCollections