我可以使用数据库迁移服务 (DMS) 将数据迁移到 Redshift 吗?

Posted

技术标签:

【中文标题】我可以使用数据库迁移服务 (DMS) 将数据迁移到 Redshift 吗?【英文标题】:Can I use Database migration service (DMS) to move data into Redshift? 【发布时间】:2020-06-15 07:52:35 【问题描述】:

我的数据在 mysql 数据库中,并希望将其移动到 Redshift。我可以使用数据库迁移服务 (DMS) 来完成此操作吗?有没有其他选择?我是否应该简单地考虑使用 Amazon Redshift Spectrum 而不移动数据?

【问题讨论】:

【参考方案1】:

另一种选择是使用联合查询(预览版)直接从其他数据库中提取数据。

见:Amazon Redshift introduces support for federated querying (preview)

Amazon Redshift Spectrum 只能从 Amazon S3 读取,在这种情况下,您可以简单地使用 COPY 命令加载数据。

【讨论】:

【参考方案2】:

您确实可以将 Redshift 用作target endpoint。

这将是从 MySQL 迁移到 Redshift 的建议,因为与其他解决方案相比,它可以帮助以最小的努力保持一切同步。

Redshift 频谱虽然有用,但不会直接从中受益,因为您将创建一个空集群来查询您的 SQL 查询而没有真正的性能优势。

要从 MPP(大规模并行处理)和查询优化器等功能中受益,您需要将数据存储在 Redshift 集群中。

最终这一切都取决于您的用例,我希望这能提供一些见解。

【讨论】:

【参考方案3】:

作为 redshift 的替代方案,您可以在 s3 中获取数据并使用 Athena 进行查询。这将节省额外的集群成本

【讨论】:

【参考方案4】:

另一种选择是使用 LakeFormation 工作流蓝图(即胶水作业)。

【讨论】:

以上是关于我可以使用数据库迁移服务 (DMS) 将数据迁移到 Redshift 吗?的主要内容,如果未能解决你的问题,请参考以下文章

无法在CLoud格式模板中测试AWS DMS端点

使用 AWS DMS 加载数据时如何修剪列

AWS 迁移MSSQL 数据库到 Aurora

AWS DMS 迁移问题

EC2-classic 中的源端点的 AWS DMS 问题

AWS DMS 添加新列以跟踪更改