确定您正在使用的 DynamoDB 全局表版本
DynamoDB 全局表有两个版本:全局表版本 2019.11.21(当前版)和全局表版本 2017.11.29(旧版)。我们建议使用全局表版本 2019.11.21(当前版)。与全局表版本 2017.11.29(旧版)相比,它的效率更高,消耗的写入容量也更少。当前版本的优点包括:
-
源表和目标表一起维护,并且吞吐量、TTL 设置、自动扩缩设置和其它有用属性也自动保持一致。
-
全局二级索引也保持一致。
-
您可以从填充了数据的表中动态添加新的副本表。
-
控制复制所需的元数据属性是隐藏属性,这有助于防止写入可能导致复制出现问题的元数据属性。
-
当前版本支持的区域比旧版本多,并允许您向现有表中添加区域或从中删除区域,而旧版本不允许。
-
全局表版本 2019.11.21(当前版)效率更高,消耗的写入容量也比全局表版本 2017.11.29(旧版)更少,因此更具成本效益。具体而言:
-
对于版本 2017.11.29(旧版),将新项目插入一个区域,然后复制到其他区域时,每个区域需要 2 个 rWCU;但版本 2019.11.21(当前版)仅需要 1 个 rWCU。
-
在版本 2017.11.29(旧版)中,更新项目要求源区域中有 2 个 rWCU,每个目标区域需要 1 个 rWCU;但在版本 2019.11.21(当前版)中,每个源或目标只需 1 个 rWCU。
-
在版本 2017.11.29(旧版)中,删除项目要求源区域中有 1 个 rWCU,每个目标区域需要 2 个 rWCU;但在版本 2019.11.21(当前版)中,每个源或目标只需 1 个 rWCU。
有关更多信息,请参阅 Amazon DynamoDB 定价
。 -
通过 CLI 确定版本
要通过 Amazon CLI 查看您所使用的是哪个版本的全局表,请检查 DescribeTable
和 DescribeGlobalTable
。如果使用的是版本 2019.11.21(当前版),则 DescribeTable
会显示表版本;如果使用的是版本 2017.11.29(旧版),则 DescribeGlobalTable
属性会显示表版本。
通过控制台确定版本
通过控制台查找版本
要通过控制台找出正在使用的全局表的版本,请执行以下操作:
-
打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/home
。 -
在控制台左侧的导航窗格中,选择表。
-
选择要使用的表。
-
选择全局表选项卡。
全局表版本显示正在使用的全局表的版本:
要从全局表版本 2017.11.29(旧版)升级到版本 2019.11.21(当前版),请按此处的步骤操作。整个升级过程将在不中断活动表的情况下进行,并且应该在不到一个小时内完成。有关更多信息,请参阅更新到版本 2019.11.21(当前版)
注意
-
如果控制台中未出现全局表版本消息,则表示在不同的区域中还存在其他同名的表。在这种情况下,不能将当前表变成全局表。要么必须将当前表复制到具有唯一名称的新表,要么必须删除所有其他同名的表。
-
如果使用全局表的全局表版本 2019.11.21(当前版),并且还使用生存时间特征,则 DynamoDB 会将 TTL 删除复制到所有副本表。初始 TTL 删除不会在发生 TTL 到期的区域中消耗写入容量。但是,在每个副本区域中,当使用预配置的容量时,复制到副本表的 TTL 删除将消耗一个复制的写容量单位,或在使用按需容量模式时消耗一个复制的写容量单位,并且将收取适用的费用。
-
在全局表版本 2019.11.21(当前版)中,发生 TTL 删除时,它将会被复制到所有副本区域。这些复制的写入操作不包含
type
或principalID
属性。这可能会难以将 TTL 删除与复制表中的用户删除区分开来。