dynamodb-tracking-tables-provisioned-throughput-write-capacity-units
--dynamodb-tracking-tables-provisioned-throughput-write-capacity-units is a global parameter for the Liquibase DynamoDB Pro extension. It specifies how many writeCapacityUnits to initially use for the PROVISIONED billing mode for Liquibase tracking tables: DATABASECHANGELOG and DATABASECHANGELOGLOCK. It is ignored if you use the PAY_PER_REQUEST billing mode. The default value is 10.
To use this parameter, you must first set --dynamodb-tracking-tables-billing-mode to PROVISIONED. You should only do this if you can accurately estimate your database's expected load on the Liquibase tracking tables.
Note: If you want to change the provisioned throughput values of the tracking tables after you create them, you must instead use the updateDynamoTable or updateTableProvisionedThroughput Change Type.
Uses
Amazon DynamoDB has two pricing models for the number of read and write operations you perform on tables in your database every second:
On-demand
(
PAY_PER_REQUEST
): only pay for requests you actually make
Provisioned
(
PROVISIONED
): you pay for a specific maximum number of requests per second
For more information, see Read/write capacity mode.
Liquibase automatically creates internal tracking tables like the DBCL, DBCLL, and DBCLH in your database. It uses these to run commands like update
and rollback
and record changes to the database's state.
If you use the PROVISIONED
billing mode for Liquibase tracking tables, you can use the --dynamodb-tracking-tables-provisioned-throughput-write-capacity-units
parameter to control the maximum number of writeoperations per second Liquibase makes to those tracking tables:
If you typically perform
many
write
operations on your database, set a
higher
value
If you typically perform
few
write
operations on your database, set a
lower
value
Note: If you set a capacity value too low and then exceed it, DynamoDB will throttle your requests.
If you use the PAY_PER_REQUEST
billing mode for Liquibase tracking tables, this parameter has no effect.
For more information, see Managing settings on DynamoDB provisioned capacity tables.
Syntax
You can set this parameter in the following ways:
Option | Syntax |
(defaults file) | liquibase.dynamodb.trackingTables.provisionedThroughput.writeCapacityUnits: <int> |
Global flow file argument (example) | stages: Default: actions: - type: liquibase command: update globalArgs: { dynamodb-tracking-tables-provisioned-throughput-write-capacity-units: "<int>" } |
Global CLI parameter | liquibase --dynamodb-tracking-tables-provisioned-throughput-write-capacity-units =<int>update --changelog-file=example-changelog.xml |
JVM system property (JAVA_OPTS Environment Variable) | Unix: JAVA_OPTS=Dliquibase.dynamodb.trackingTables.provisionedThroughput.writeCapacityUnits=<int> Windows: JAVA_OPTS=D"liquibase.dynamodb.trackingTables.provisionedThroughput.writeCapacityUnits"=<int> |
LIQUIBASE_COMMAND_CHANGELOG_FILE=<int> |
For more information, see Working with Command Parameters.