【问题标题】:How to translate Aurora Mysql ddl to Redshift ddl如何将 Aurora Mysql ddl 翻译成 Redshift ddl
【发布时间】:2020-07-25 10:22:04
【问题描述】:

列出一系列 Auora Mysql ddl 对象并将它们转换为 Redshift ddl(数据类型映射、PK、编码)的最佳方法是什么?

我正在尝试使用 lambdas 从 Aurora Mysql 迁移到 Redshift,但我需要先创建目标表。此操作必须在每次加载之前完成,因此需要自动化。

【问题讨论】:

    标签: amazon-web-services amazon-redshift amazon-aurora


    【解决方案1】:

    这可以使用Database Migration Service来完成

    您可以将 DMS 用于以下 DDL 操作,Schema Conversion Tool 需要执行进一步的操作:

    • 创建表
    • 删除表
    • 重命名表
    • 添加列
    • 删除列
    • 重命名列
    • 更改列数据类型

    当您使用此服务时,它需要在您的帐户中启动一个资源来执行该操作,因此请注意这一点,因为它会有一个cost

    【讨论】:

    • 感谢您的帮助。是的,我尝试了 DMS,它工作正常,但是当我想安排任务定期运行(我不能直接通过 CW 事件调用它们)以及如何让其他服务知道任务已正确完成时,我遇到了麻烦,因为DMS 事件并没有以这种方式区分,我无法使用过滤策略过滤它们(我计划使用 lambda 函数来预过滤它们)。总的来说似乎有点笨拙..对于这样一个“简单的任务”,这就是为什么我希望有另一个解决方案......
    • 是的,不幸的是,您需要将触发器作为触发此任务的 Lambda 函数。关于通知何时停止 CloudWatch 事件确实支持 DMS,但您必须使用 CloudTrail 中的特定事件名称。除此之外,这将是您自己/第三方的解决方案:)
    【解决方案2】:

    您可以使用 liquibase(或 flyway)和 jenkins 进行调度,如 aws blog 所示。

    1. Liquibase 的 generateChangeLog 可以创建一个更改日志来表示您的 mysql 数据库的架构
    2. 使用生成的变更日志,您可以update Redshift 架构以及来自您的源的最新架构更改

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-26
      • 2023-03-11
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多