Batch操作

BatchWriteItem

  • 一次调用最多传入25个PutItemDeleteItem
  • 操作是并行进行的,所以速度比逐条操作要快。

BatchGetItem

  • 最多获取100行记录。

BatchGetIem

BatchGetItem访问一百条数据,是否会比GetItem访问100次更节省RCU?

答案:不会

测试:

在dynamodb中新建五条数据:

image-20210811175627937

使用batchGetItem访问:

 aws dynamodb batch-get-item --request-items file://1.json --return-consumed-capacity TOTAL

1.json内容如下:

{
    "global-table-test": {
        "Keys": [
            {
                "id": {"S": "1"}
            },
            {
                "id": {"S": "2"}
            },
            {
                "id": {"S": "4"}
            },
            {
                "id": {"S": "5"}
            },
            {
                "id": {"S": "3"}
            }
        ]
    }
}

返回结果CapacityUnits为2.5,这是由于最终一致性读,消耗一半的RCU:

image-20210811175717922

参考:https://docs.aws.amazon.com/cli/latest/reference/dynamodb/batch-get-item.html

https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html