Dynamodb: does delete count against read or write

2020-07-03 06:02发布

问题:

I haven't able to find documentation within Amazon on this: does anyone know if the delete operation counts against your read or write capacity?

I had expected it would count as a "write", but the behavior I'm seeing in testing seems to indicate the opposite. Can someone confirm this?

回答1:

Good question - while this doesn't seem to be specified explicitly, there are still two strong hints towards being counted as a write operation (as one would expect indeed):

1) Section Time Series Data and Access Patterns within Provisioned Throughput Guidelines in Amazon DynamoDB addresses efficient deletion and refers to affected write throughput:

Deleting an entire table is significantly more efficient than removing items one-by-one, which essentially doubles the write throughput as you do as many delete operations as put operations.

2) Section Responses within the DeleteItem API lists the return value ConsumedCapacityUnits and refers to write capacity units:

The number of write capacity units consumed by the operation. This value shows the number applied toward your provisioned throughput. For more information see Provisioned Throughput in Amazon DynamoDB.



回答2:

Yes, it does. The documentation clearly says:

PutItem, UpdateItem, and DeleteItem allow conditional writes, where you specify an expression that must evaluate to true in order for the operation to succeed. If the expression evaluates to false, DynamoDB will still consume write capacity units from the table:

  • If the item exists, the number of write capacity units consumed depends on the size of the item. (For example, a failed conditional write of a 1 KB item would consume one write capacity unit; if the item were twice that size, the failed conditional write would consume two write capacity units.)

  • If the item does not exist, DynamoDB will consume one write capacity unit.

Source: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CapacityUnitCalculations.html#ItemSizeCalculations.Writes