Determining the DynamoDB global table version you are using
There are two versions of DynamoDB global tables available: Global Tables version 2019.11.21 (Current) and Global tables version 2017.11.29 (Legacy). We recommend using Global Tables version 2019.11.21 (Current). It is more efficient and consumes less write capacity than Global tables version 2017.11.29 (Legacy). The advantages of the current version include:
-
The source and target tables are maintained together and kept aligned automatically for throughput, TTL settings, auto scaling settings, and other useful attributes.
-
Global secondary indexes are also kept aligned.
-
You can dynamically add new replica tables from a table populated with data
-
The metadata attributes required to control replication are hidden which helps prevent writing of them which would cause issues with replication.
-
The current version supports more Regions than the legacy version, and lets you add or remove Regions to an existing table while the legacy version does not.
-
Global Tables version 2019.11.21 (Current) is more efficient and consumes less write capacity than Global tables version 2017.11.29 (Legacy), and therefore is more cost effective. In specifics:
-
Inserting a new item in one Region and then replicating to other Regions requires 2 rWCUs per region for Version 2017.11.29 (Legacy), but only 1 for Version 2019.11.21 (Current).
-
Updating an item requires 2 rWCUs in the source Region and 1 then rWCU per destination Region in Version 2017.11.29 (Legacy), but only 1 rWCU per source or destination in Version 2019.11.21 (Current).
-
Deleting an item requires 1 rWCU in the source Region and then 2 rWCUs per destination Region in Version 2017.11.29 (Legacy), but only 1 rWCU per source or destination in Version 2019.11.21 (Current).
For more information see Amazon DynamoDB Pricing
. -
Determing the version through the CLI
To find out which version of global tables you are usingthrough the AWS CLI, check
DescribeTable
and DescribeGlobalTable
.
DescribeTable
will show the table version if it is Version
2019.11.21 (Current), and the DescribeGlobalTable
property will show
the table version if it is Version 2017.11.29 (Legacy).
Determing the version through the console
Finding the version through the console
To find out which version of global tables you are using through the console, do the following:
-
Open the DynamoDB console at https://console.aws.amazon.com/dynamodb/home
. -
In the navigation pane on the left side of the console, choose Tables.
-
Choose the table you want to use.
-
Choose the Global Tables tab.
The Global table version displays the version of global tables in use:
To upgrade from global tables Version 2017.11.29 (Legacy) to Version 2019.11.21 (Current), follow these steps here. The overall upgrade process will work without disrupting live tables, and should finish in less than an hour. For more information, see Updating to Version 2019.11.21 (Current)
Note
-
If the Global table version message does not appear in the console, that means there is another table in a different Region with the same name. In this case, the current table can't be made into a global table. Either the current table must be copied to a new table with a unique name, or all other tables with the same name must be removed.
-
If you are using Global Tables version 2019.11.21 (Current) of global tables and you also use the Time to Live feature, DynamoDB replicates TTL deletes to all replica tables. The initial TTL delete does not consume write capacity in the region in which the TTL expiry occurs. However, the replicated TTL delete to the replica table(s) consumes a replicated write capacity unit when using provisioned capacity, or replicated write when using on-demand capacity mode, in each of the replica regions and applicable charges will apply.
-
In Global Tables version 2019.11.21 (Current), when a TTL delete occurs it is replicated to all replica regions. These replicated writes do not contain
type
orprincipalID
properties. This can make it difficult to distinguish a TTL delete from a user delete in the replicated tables.