【问题标题】:How can I migrate DynamoDB tables to Global DynamoDB tables with minimum downtime?如何以最短的停机时间将 DynamoDB 表迁移到 Global DynamoDB 表?
【发布时间】:2018-05-31 06:45:25
【问题描述】:

AWS 不允许将现有 DynamoDB 表转换为全局 DynamoDB 表。所以我需要编写一些代码或找到已经存在的工具来完成它。 现有的表有很多数据,因为导出导入过程需要很长时间,停机时间也不可取。

我有一个大致的行动计划,要进行迁移:

  1. 创建全局表
  2. 更改应用程序逻辑以开始写入全局表。当请求读取数据时,首先尝试全局表,如果没有数据 - 当读取普通表时。
  3. 将数据从普通表复制到全局表。
  4. 再次将应用程序逻辑更改为只对全局表进行写入和读取。
  5. 删除普通表。

我想知道是否有人进行了类似的迁移?您如何简化从两个表(全局和正常)的读取?是否存在任何用于 boto、pynamodb 或其他 lib 的插件/lib/包装器来执行此操作? 或者您使用其他方法进行迁移,请分享。

【问题讨论】:

标签: python amazon-web-services amazon-dynamodb


【解决方案1】:

从 2019 年 11 月起,可以将现有 DynamoDB 表转换为全局表而不会丢失数据。

“从今天开始,您可以将现有的 DynamoDB 表转换为 在 AWS 管理控制台中单击几下即可获得全局表,或者 使用 AWS 命令​​行界面 (CLI) 或 Amazon DynamoDB API。以前,只能将空表转换为全局表 表。您当时必须猜测您所在区域的表格使用情况 你创造了它。现在您可以走向全球,也可以扩展现有的 随时将全局表添加到其他区域。”

https://aws.amazon.com/blogs/aws/new-convert-your-single-region-amazon-dynamodb-tables-to-global-tables/

在 AWS 控制台中将 DynamoDB 表转换为全局表:

  1. 在 AWS 控制台中导航到您的 DynamoDB 表。
  2. 选择“全局表”选项卡。
  3. 如果提示启用 Streams,请启用 Streams。全局表需要流。
  4. 单击添加区域以添加全局表并选择区域。

根据我的经验,创建全局表需要 10-20 分钟。

【讨论】:

    猜你喜欢
    • 2018-11-11
    • 2016-10-13
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 2021-09-01
    • 1970-01-01
    相关资源
    最近更新 更多