首页 > 解决方案 > DynamodbMapper batchSave 是一个写操作还是多个

问题描述

在 AWS Dynamodb 中,是否

DynamodbMapper.batchSave(记录)

操作被认为是一次写操作还是等于记录数?

我问的是写容量单位的参考。一个写入容量单位表示每秒一次写入。所以,如果我有 10 个 WCU,那么我可以使用一个 batchSave 调用保存 100 条记录,并且仍然只使用一个 WCU。

标签: amazon-web-servicesamazon-dynamodb

解决方案


DynamoDBMapperBatchWriteItem在该方法的后台使用 API batchSave。从BatchWriteItem文档:

每个指定的 put 和 delete 请求都消耗相同数量的写入容量单元,无论是并行处理[批量保存]还是不[单独保存]。对不存在的项目的删除操作会消耗一个写入容量单位。

如果您要保存 100 个项目,您将至少使用100 个 WCU。单个项目对项目中的每 1kb 数据(包括属性名称)使用 1 个 WCU。WCU 的数量总是四舍五入到最接近的整数,并且在同一请求中的项目之间不会“共享”部分 WCU。

例如,如果您有 10 个项目,每个项目 1.2 kb,那么写入所有项目将消耗 20 个 WCU。


推荐阅读