DynamoDB属性名称压缩



我有一个dynamodb表,其中属性名称是大字符串,但整个项目仅为1kb。我是否可以将属性名称简化为网络的小字符串,以进行网络和存储性能,因为每个项目都会具有属性名称,并且值或DynamoDB会自动将其压缩到简短代码,然后存储?

虽然单个 item读取的读数是通过4KB增量的配置容量单位间接收取的,而写入则以1KB的增量付费,但这些计算在查询或表扫描用于求和总计读取或书面数据大小。

换句话说,使用简短的属性名称确实有助于提高吞吐量的能力(相同的配置价格),因为您可以每秒阅读更多项目,因为每个项目的尺寸较小,因此需要更多的内容到4 kb进行读数或1 kb的文字,以便在消耗容量单位的情况下。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/capacitaceunitcalculation.html

"注意我们建议您选择较短的属性名称而不是长名称。这将帮助您优化容量单位消耗并减少数据所需的存储量。"

还请注意,与字符串相比,每个字节2位数字更紧凑。因此,包含字母的ISO格式DateTime(例如2018-02-21T10:17:44.123Z)将占用数字的空间(24字节)要多得多(例如,20180211011744.123)10个字节 - 每个数字对是一个字节加一个字节,用于标志和十进制位置)

属性名称是用户确定的,但基本表和索引的主要键,因此DynamoDB无法优化存储属性名称。此外,写入以1KB增量收取。您的项目尺寸是600或1000字节都没关系;这样的项目将产生1个WCU写作。出于可用性目的,最好具有可读的属性名称,因此,如果您的应用程序允许它,也许将属性名称留下来?

最新更新