AWS DynamoDB Throughput Capacity
AWS DynamoDB throughput capacity depends on the read/write capacity modes for processing reads and writes on the tables.
There are two types of read/write capacity modes:
NOTE – Provisioned mode is covered in the AWS Certified Developer – Associate exam (DVA-C01) esp. the calculations. On-demand capacity mode is latest enhancement and does not yet feature in the exams.
- Provisioned mode requires you to specify the number of reads and writes per second as required by the application
- Provisioned throughput is the maximum amount of capacity that an application can consume from a table or index
- If the provisioned throughput capacity on a table or index is exceeded, it is subject to request throttling
- Provisioned mode is a good for applications
- predictable application traffic
- consistent traffic
- ability to forecast capacity requirements to control costs
- Provisioned mode provides the following capacity units
- Read Capacity Units (RCU)
- Total number of read capacity units required depends on the item size, and the consistent read model (eventually or strongly)
- one RCU represents
- one strongly consistent read per second for an item up to 4 KB in size
- two eventually consistent reads per second, for an item up to 4 KB in size i.e. 8 KB
- Transactional read requests require two read capacity units to perform one read per second for items up to 4 KB.
- DynamoDB must consume additional read capacity units for items greater than 4 KB for e.g. for an 8 KB item size, 2 read capacity units to sustain one strongly consistent read per second, 1 read capacity unit if you choose eventually consistent reads, or 4 read capacity units for a transactional read request would be required
- Item size is rounded off to 4 KB equivalents for e.g. a 6 KB or a 8 KB item in size would require the same RCU
- Write Capacity Units (WCU)
- Total number of write capacity units required depends on the item size only
- one write per second for an item up to 1 KB in size
- Transactional write requests require 2 write capacity units to perform one write per second for items up to 1 KB.
- DynamoDB must consume additional read capacity units for items greater than 1 KB for an 2 KB item size, 2 write capacity units would be required to sustain one write request per second or 4 write capacity units for a transactional write request
- Item size is rounded off to 1 KB equivalents for e.g. a 0.5 KB or a 1 KB item would need the same WCU
- Read Capacity Units (RCU)
- On-demand mode provides flexible billing option capable of serving thousands of requests per second without capacity planning
- There is no need to specify the expected read and write throughput
- Charged for only the reads and writes that the application performs on the tables in terms of read request units and write request units.
- Offers pay-per-request pricing for read and write requests so that you pay only for what you use
- DynamoDB adapts rapidly to accommodate the changing load
- Read & Write Capacity Units performance remains the same as provisioned mode
AWS Certification Exam Practice Questions
- You need to migrate 10 million records in one hour into DynamoDB. All records are 1.5KB in size. The data is evenly distributed across the partition key. How many write capacity units should you provision during this batch load?
- 5556 ( 2 write units (1 for each 1KB) * 10 million/3600 secs)
- A meteorological system monitors 600 temperature gauges, obtaining temperature samples every minute and saving each sample to a DynamoDB table. Each sample involves writing 1K of data and the writes are evenly distributed over time. How much write throughput is required for the target table?
- 1 write capacity unit
- 10 write capacity units ( 1 write unit for 1K * 600 gauges/60 secs)
- 60 write capacity units
- 600 write capacity units
- 3600 write capacity units
- A company is building a system to collect sensor data from its 36000 trucks, which is stored in DynamoDB. The trucks emit 1KB of data once every hour. How much write throughput is required for the target table. Choose an answer from the options below
- A company is using DynamoDB to design storage for their IOT project to store sensor data. Which combination would give the highest throughput?
- 5 Eventual Consistent reads capacity with Item Size of 4KB (40KB/s)
- 15 Eventual Consistent reads capacity with Item Size of 1KB (30KB/s)
- 5 Strongly Consistent reads capacity with Item Size of 4KB (20KB/s)
- 15 Strongly Consistent reads capacity with Item Size of 1KB (15KB/s)
- If your table item’s size is 3KB and you want to have 90 strongly consistent reads per second, how many read capacity units will you need to provision on the table? Choose the correct answer from the options below