DynamoDB:对于大量记录,BatchWriteItem 使用的写入计算单元是否比 PutItem 少?

ORl*_*498 3 amazon-web-services amazon-dynamodb

我有大约 200 条记录需要经常写入 DynamoDB,并且我正在尝试查看 BatchWriteItem 与迭代 PutItem 200 次相比是否可以节省 WCU 方面的任何开销。除了发送的网络请求数之外,BatchWriteItem 是否会降低 WCU 的使用量?

Sha*_*dra 5

按照此处的WCU 计算指南,BatchWriteItem 和 PutItem 都遵循相同的大小舍入计算,并且将消耗相同的 WCU。

\n
\n

对于PutItem、 UpdateItem 和 DeleteItem 操作,DynamoDB 会将项目大小四舍五入到下一个 1 KB。例如,如果您放置或删除\n 1.6 KB 的项目,DynamoDB 会将项目大小舍入为 2 KB。

\n

BatchWriteItem \xe2\x80\x94将最多 25 个项目写入一个或多个表。DynamoDB\n将批次中的每个项目作为单独的 PutItem 或\nDeleteItem 请求进行处理(不支持更新)。因此,DynamoDB 首先将每个项目的大小向上舍入到下一个 1 KB 边界,然后计算总大小。结果不一定与\n所有项目的总大小相同。例如,如果 BatchWriteItem 写入 500 字节的项目和 3.5 KB 的项目,DynamoDB 计算的大小为 5\nKB (1 KB + 4 KB),而不是 4 KB (500 字节 + 3.5 KB)。

\n
\n