当前位置: 首页 > 知识库问答 >
问题:

AWS DynamoDB LSI项集合大小限制

尚嘉勋
2023-03-14

我试图理解AWS DynamoDB的行为到底是什么。当我为表创建本地二级索引(LSI)时,文档中说,项集合有10 GB的限制。文档

它的真正含义是什么?

假设我的数据跨3个分区,那么问题是:

  • 每个分区对LSI或所有分区都有10GB的限制?
  • 如果我达到了一个限制,比方说,我继续将数据写入表中,这意味着数据将在表中,但不会被LSI看到?或者怎么做?我知道通常数据将在表中可用,但如果我通过LSI查询,它会显示我只是旧项目,我们在达到限制之前成功写入,但如果我扫描所有表-我会看到所有项目(旧的和新的)?对吗?

将感谢任何帮助谢谢

可能的答案:

这篇文章帮助我理解了如果具有相同分区密钥的项超过10GB,LSI将如何工作?

如果特定项集合(表中具有相同分区键值的任何一组项及其所有本地辅助索引)达到10GB的限制,它将引发异常

所以,如果具有特定分区键的项的数量没有那么大,那么您可以保存以使用LSI。

共有1个答案

汪博艺
2023-03-14

你误读了文件。。。

项目集合大小限制应用于表本身。。。

任何项集合的最大大小为10 GB。此限制不适用于没有本地辅助索引的表。只有具有一个或多个本地辅助索引的表才会受到影响。

因此,如果您有一个带有LSI的表,那么表中任何给定分区键的容量都不能超过10GB。

如果您有大量数据,付费使用与表具有相同分区键但不同排序键的GSI,而不是免费的LSI(如果需要),这是一个解决方案。

 类似资料:
  • scard key 如果set是空或者key不存在返回0

  • 我应该做分区(不知道如何做)还是有一种方法来增加这个大小限制?

  • Java标准库中的大多数集合(如ConcurrentLinkedQueue、Concurrent LinkedDequeue和ConcurrntSkipListSet)的文档都附带以下免责声明: 注意,与大多数集合不同,size方法不是一个恒定时间的操作。由于这些集合的异步性质,确定元素的当前数量需要遍历元素,因此如果在遍历过程中修改了集合,可能会报告不准确的结果。 那是什么意思?为什么他们不能保

  • Spring Data允许开发者使用first和top关键字对返回的查询结果集大小进行限定。fisrt和top需要跟着一个代表返回的结果集的最大大小的数字。如果没有跟着一个数字,那么返回的结果集大小默认为1。 Example 8.Limiting the result size of query with Top and First(利用first和top限制返回的结果集大小) User find

  • 问题内容: 我试图通过这样将数据从一个活动传递到另一个活动: 这是包含用户数据的列表,包括Base64编码的照片,此列表中字符串大小的总和约为500Kb 打电话到黑屏挂了几分钟,然后出现ANR错误。完全不调用子活动。 如果我不向mUsers中添加大字符串(没有Base64编码的照片),则可以正常工作。 请帮忙。 问题答案: 如果两种活动都是您的,请使用体面的数据模型。Android不鼓励设计精良的

  • 我有文档,其中包含子集合。现在,我想获取子集合中至少有一项的所有项目。这可能吗? 类似于: < code>getDocs(collection(getDB()," Projects)),其中(" Items.size ","