In provisioned capacity mode, does writing a single row per second with less than 1KB of data use an entire WCU?
More concretely, if I write 10 rows, each with 50 bytes, per second have I used an entire WCU even though only 500 bytes have been written? Or am I actually using 10 WCUs since I wrote 10 rows in a single second?
Similarly with RCUs, if I issue a query once per second that returns multiple rows, but with an aggregate size of less than 4KB is the entire RCU used?
Concretely, I issue a SELECT and get back 10 rows, each with 100 bytes of data I'm below the 4KB limit per RCU. If I then issue another SELECT within the same second, and get back another 1000 bytes of data have I used 2 RCUs, or 1 RCU since I've only read 2000 bytes in this second?
If you write 10 rows each with 50 bytes you will consume 10 WCU though you wrote only 500 bytes which is less the 1 KB WCU size. Even if you write these 10 rows in a batch you will consume 10 WCU.
On read side if aggregate size of your single query is less than 4 KB you will consume 1 RCU.
But your next query also will cost 1 RCU (your 2 queries cost 2 RCU) though aggregate size of two query result is still below 4 KB. Each transaction is charged individually.
How is Provisioned IO charged?Accepted Answerasked a year ago
Throttle rate for CRUD APIsasked a year ago
Pricing questionasked 2 years ago
DynamoDB Pricing Provisioned vs On-Demandasked 3 years ago
Kinesis Stream Best Practices and CalculationsAccepted Answerasked 2 years ago
Why does AWS DynamoDB separate RCU and WCUasked 5 months ago
Per-Second Billing Clarificationasked 3 years ago
Cost comparisons of DynamoDB: Provisioned vs On-demandasked 3 years ago
Kinesis data streams limitsAccepted Answerasked 3 years ago
Maximum throughput for incrementing an atomic counter in DynamoDB with On-Demand Capacity Throughput default quotasAccepted Answerasked 2 years ago