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?
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.
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