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

Liquibase properties file

(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 Environment Variables

LIQUIBASE_COMMAND_CHANGELOG_FILE=<int>

For more information, see Working with Command Parameters.