DynamoDB导出至S3生成的单个Zip对象最大尺寸及分片规则咨询
DynamoDB导出到S3的Zip包大小限制与分片规则
Zip文件尺寸限制
- DynamoDB导出到S3时,没有针对Zip压缩包的固定大小限制,但需遵循S3单个对象的最大容量(5TB),不过实际导出的分片远达不到这个量级。
- 核心限制来自未压缩JSON分片的1GB上限:DynamoDB会先把数据拆分为多个不超过1GB的未压缩JSON文件,再分别压缩成Zip包。因此Zip包的大小和原始JSON分片的1GB上限直接相关,最终压缩后的体积取决于数据的压缩率(比如含大量重复内容的分片压缩后会更小)。
分片规则(Zip包大小不一的原因)
DynamoDB导出的分片由以下因素共同决定,导致最终Zip包大小存在差异:
- 未压缩JSON的1GB阈值:当单部分未压缩数据达到1GB时,会强制拆分为新的分片,这是最基础的拆分逻辑。
- 表的分区键范围:导出过程会按照表的分区键(Partition Key)范围拆分数据,每个分片对应一段连续的分区键数据。即使某段分区键对应的数据未达到1GB,也会单独生成分片,这就会出现一些较小的Zip包。
- 数据压缩率差异:不同分片的数据内容不同(比如有的分片包含大量重复字段、文本数据,有的分片是更零散的结构化数据),压缩后的体积自然不一样,这也是Zip包大小波动的重要原因。
内容的提问来源于stack exchange,提问作者Cosmin
相关产品推荐
相关产品推荐

