You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带本地二级索引的DynamoDB分区超10GB容量时的行为疑问

带有本地二级索引的DynamoDB分区超10GB时的行为解析

你提到的两份描述并不冲突,但博客文章确实遗漏了本地二级索引(LSI)的关键限制,下面拆解实际行为:

先明确两个描述的适用场景

  1. 博客文章的说法(无LSI时的正常拆分):

DynamoDB 若集合大小超过10GB,会按排序键拆分分区。
注:这里的“集合”指无LSI时,单个分区键哈希值对应的主表数据集合。当数据量超10GB,DynamoDB会按排序键的范围将这个分区拆分为两个独立的物理分区,各自承载一部分排序键范围的数据,以此缓解容量和压力。

  1. AWS官方文档的说法(有LSI时的限制):

当表存在本地二级索引时,自适应容量不会将项集合拆分到表的多个分区中。
注:这里的“项集合”指同一个分区键对应的所有数据——包括主表项和所有LSI的索引项。LSI的设计逻辑要求这些数据必须存放在同一个物理分区内,无法拆分到多个分区,这是LSI的核心约束之一,自适应容量无法突破这个设计限制。

核心问题:带LSI的分区超10GB时会发生什么?

  • 无法拆分分区:因为LSI的项集合必须绑定在同一分区,DynamoDB的自动拆分逻辑在此场景下完全不生效,这个超大分区会一直保持为单个物理分区。
  • 大概率触发限流:单个物理分区的吞吐量有固定上限(默认3000 RCU/1000 WCU),自适应容量只能临时提升这个上限,但无法无限扩展。当分区数据量超10GB,不仅存储压力大,一旦访问量接近或超出分区的吞吐量上限,就会触发限流(返回ThrottlingException)。即使自适应容量能临时缓解,长期来看超大分区也会导致性能下降、访问延迟增加,限流风险持续存在。

补充说明

AWS官方关于“单个分区键对应的项集合总数据量不超过10GB”的最佳实践,在使用LSI时依然有效,并没有因自适应容量而过时——博客文章未提及这个限制,属于内容疏漏。

内容的提问来源于stack exchange,提问作者SweetFeet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:25:34