确定您正在使用的全局表版本 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

确定您正在使用的全局表版本

DynamoDB 全局表有两个版本可用:全局表版本 2019. 11.21(当前)和。全局表格版本 2017.11.29(旧版)我们建议使用全局表格版本 2019.11.21(当前)。与全局表格版本 2017.11.29(旧版)相比,它的效率更高,消耗的写入容量也更少。当前版本的优点包括:

  • 源表和目标表一起维护,并且吞吐量、TTL 设置、自动扩缩设置和其他有用属性也自动保持一致。

  • 全局二级索引也保持一致。

  • 您可以从填充了数据的表中动态添加新的副本表。

  • 控制复制所需的元数据属性是隐藏属性,这有助于防止写入可能导致复制出现问题的元数据属性。

  • 当前版本支持的区域比旧版本多,并允许您向现有表中添加区域或从中删除区域,而旧版本不允许。

  • Global Tables 版本 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 查看您所使用的是哪个版本的全局表,请检查 DescribeTableDescribeGlobalTable。如果使用的是版本 2019.11.21(当前版),则 DescribeTable 会显示表版本;如果使用的是版本 2017.11.29(旧版),则 DescribeGlobalTable 属性会显示表版本。

通过控制台确定版本

通过控制台查找版本

要通过控制台找出正在使用的全局表的版本,请执行以下操作:

  1. 打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/home

  2. 在控制台左侧的导航窗格中,选择 Tables (表)

  3. 选择要使用的表。

  4. 选择 Global Tables (全局表) 选项卡。

  5. 全局表版本显示正在使用的全局表的版本:

要从全局表版本 2017.11.29(旧版)升级到版本 2019.11.21(当前版),请按此处的步骤操作。整个升级过程将在不中断活动表的情况下进行,并且应该在不到一个小时内完成。有关更多信息,请参阅更新到版本 2019.11.21(当前版)

注意
  • 如果控制台中未出现全局表版本消息,则表示在不同的区域中还存在其他同名的表。在这种情况下,不能将当前表变成全局表。要么必须将当前表复制到具有唯一名称的新表,要么必须删除所有其他同名的表。

  • 如果您使用的是全局表版本 2019.11.21(当前)的全局表,并且还使用生存时间功能,则 DynamoDB 会将 TTL 删除复制到所有副本表。初始 TTL 删除不会在发生 TTL 到期的区域中消耗写入容量。但是,在每个副本区域中,当使用预配置的容量时,复制到副本表的 TTL 删除将消耗一个复制的写容量单位,或在使用按需容量模式时消耗一个复制的写容量单位,并且将收取适用的费用。

  • Global Tables 版本 2019.11.21(当前)中,当发生 TTL 删除时,会将其复制到所有副本区域。这些复制的写入操作不包含 typeprincipalID 属性。这可能会难以将 TTL 删除与复制表中的用户删除区分开来。