Granular Scaling¶
The granular scaling feature in Dynamic DynamoDB allows users to specify fine tuning for up-scaling read and write
provisioning by using the new optional ...-scale
config options.
This new config is specified by providing a dictionary of key-value pairs. The keys are the scaling thresholds for
whichever metric is being evaluated (in percent) and the values are scaling amounts in either units
or percent
depending on the config specified for the associated ...-unit
config option.
If the ...-scale
config option is not specified then the scaling amount will come from the associated
...-with
config option (NOTE: This only applies to the increase-consumed-reads-...
options. For the
increase-throttled-by-...
options, if the scale isn’t specified then scaling based on these metrics will not occur).
If this option is specified then it will work as follows:
- If the metric being evaluated is at 0% then the scaling amount will be 0
- If the metric being evaluated is at a percentage in the range of scaling thresholds specified the scaling amount will be the value of the key-value pair whose key is equal to or lower than the current amount
- If the metric being evaluated is at a higher percentage than the highest threshold specified the scaling amount will be the the value of the final key-value pair
Example¶
Config:
increase-consumed-reads-unit: percent
increase-consumed-reads-scale: {0: 0, 0.25: 5, 0.5: 10, 1: 20, 2: 50, 5: 100}
In this scenario:
- If the current consumed read units is up to 0.25% no scaling will occur.
- If the current consumed read units is at 0.25% or above but below 0.5% then read provisioning will be scaled up by 5%
- If the current consumed read units is at 0.5% or above but below 1% then read provisioning will be scaled up by 10%
- If the current consumed read units is at 1% or above but below 2% then read provisioning will be scaled up by 20%
- If the current consumed read units is at 2% or above but below 5% then read provisioning will be scaled up by 50%
- If the current consumed read units is at 5% or above read provisioning will be increased by 100%