首页 > 解决方案 > 将 Aurora 数据迁移到 Redshift DWH 的好方法是什么?

问题描述

我们需要将各种 Aurora 数据库中的数据移动和整合到 Redshift 数据库中。

由于我们的端点是 AWS 服务,我们正在学习 Glue、Pipeline 和 Matillion。

Glue 是否打算用于像这样的“传统 ETL”?可以使用 Glue 来创建和填充“正在运行”的事实和维度表吗?

我读到一个常见的模式是使用 Glue 运行的 apache spark 引擎转换数据 → 将数据移动到 S3 → 将数据移动到 Redshift。

为什么在应用昏暗/事实逻辑后需要将数据移动到存储桶中?

使用 Python/Scala 创建这些暗淡/事实转换是否可行(因为 Glue 没有 UI 转换)?

我还了解到,在某些情况下,将数据存储在 Redshift 中并保持与原点相同的结构(没有事实/暗淡)会更有效。是否有规则可以尝试查看何时会出现这种情况?

Matillion 看起来是一个不错的选择(类似于 SSIS),但似乎有点贵。

谢谢你的帮助。

标签: amazon-s3amazon-redshiftetlaws-glueamazon-aurora

解决方案


如果您的 Aurora 数据库是基于 Postgres 的,那么我建议从Redshift 的 Federated Query开始。FQ 允许您直接从 Redshift 查询您的 Aurora Postgres 表。使用 FQ,您可以设置一个简单的同步过程,将数据从 Aurora 导入 Redshift(请参阅这些示例 SP)。

如果您的 Aurora 数据库基于 MySQL,或者您的数据量非常大,您可能希望首先将数据从 Aurora 导出到 S3,然后将数据提取加载到 Redshift

随着您熟悉 Redshift,您可以将分配键和排序键添加到表中以提高性能。Redshift Advisor 将根据您运行的查询建议有效的分布键和排序键。

这个过程应该允许您快速开始使用 Redshift,然后您可以在以后需要它们的独特和特定功能时开始使用 Glue 或 Matillion。


推荐阅读