Dynamo db读/写

时间:2018-06-02 06:28:36

标签: amazon-web-services amazon-dynamodb read-write

情景:

如果我读取/写入一个10Bytes的项目,Dynamo DB会将吞吐量四舍五入为4Kb以进行读取,将1Kb用于写入。如果我的整个数据库由10-50字节的项目组成,并且我希望每秒大约进行10次读/写操作,则效率非常低。

问题:

有没有办法克服这个问题并利用每个吞吐量的全部潜力

1 个答案:

答案 0 :(得分:0)

以下是“读取容量单位消耗”的规则:

  

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

     

例如,如果您读取的是3.5 KB的项目,则DynamoDB会对其进行舍入   项目大小为4 KB。如果您读取10 KB的项目,则DynamoDB会对其进行舍入   项目大小为12 KB。

请参阅https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html

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

PutItemUpdateItem

  

对于PutItem,UpdateItem和DeleteItem操作,DynamoDB轮次   项目大小到下一个1 KB。例如,如果您输入或删除   一个1.6 KB的项目,DynamoDB将项目大小舍入为2 KB。