Amazon web services Dynamo db读/写

Amazon web services Dynamo db读/写,amazon-web-services,amazon-dynamodb,read-write,Amazon Web Services,Amazon Dynamodb,Read Write,情景: 如果我读/写一个10字节的项目,Dynamo DB将吞吐量四舍五入到4Kb用于读,1Kb用于写。如果我的整个数据库由10-50字节的项组成,并且我预计每秒大约有10次读/写操作,那么它将变得非常低效 问题: 是否有办法克服这一问题并充分利用每种吞吐量的潜力?以下是“读取容量单位消耗”的规则: GetItem从表中读取单个项。确定 GetItem将消耗的容量单位,取项目大小并取整 直到下一个4KB边界。如果指定了强一致的 读取,这是所需的容量单位数。最终 一致读取(默认值),将此数字除以2

情景:

如果我读/写一个10字节的项目,Dynamo DB将吞吐量四舍五入到4Kb用于读,1Kb用于写。如果我的整个数据库由10-50字节的项组成,并且我预计每秒大约有10次读/写操作,那么它将变得非常低效

问题:

是否有办法克服这一问题并充分利用每种吞吐量的潜力?以下是“读取容量单位消耗”的规则:

GetItem从表中读取单个项。确定 GetItem将消耗的容量单位,取项目大小并取整 直到下一个4KB边界。如果指定了强一致的 读取,这是所需的容量单位数。最终 一致读取(默认值),将此数字除以2

例如,如果您读取了一个3.5 KB的项目,DynamoDB将对 项目大小为4KB。如果您读取一个10KB的项目,DynamoDB会对 项目大小为12 KB

所以也许你可以切换到最终一致阅读

对于
PutItem
UpdateItem

对于PutItem、UpdateItem和DeleteItem操作,DynamoDB循环 项目大小不超过1 KB。例如,如果您放置或删除 DynamoDB是一个1.6KB的项目,它将项目大小四舍五入到2KB


是的,这是可能的,但是如果我在不同的时间读/写10个项目呢?我不能在那种情况下使用批处理操作是的,我已经更新了答案。我认为只有使用最终一致读取才有可能。