我们需要将各种Aurora数据库中的数据移动并整合到Redshift中。
由于我们的终端是AWS服务,我们正在了解Glue、Pipeline以及Matillion。
Glue是否打算在像这样的 "传统ETL "中使用?Glue可以用来创建和填充 "飞行中 "的事实和维度表吗?
我读到一个常见的模式是使用Glue运行的apache spark引擎转换数据,然后将数据移动到S3上,再将数据移动到Redshift上。
为什么在应用dimfact逻辑后,还需要将数据移动到一个桶里?
用PythonScala创建这些dimfact变换是否实用(因为Glue没有UI变换)?
我还了解到,在某些情况下,在Redshift中存储数据保持与原点相同的结构(没有factsdim)更有效率。有没有一个规则可以尝试看看什么时候会出现这种情况?
Matillion看起来是一个不错的选择(类似于SSIS),但似乎有点贵。
谢谢你的帮助。
如果你的Aurora数据库是基于Postgres的,那么我建议先用 Redshift的联合查询功能介绍. FQ允许你从Redshift直接查询你的Aurora Postgres表。使用 FQ,你可以设置一个简单的同步过程,将数据从 Aurora 带到 Redshift 中(请看这些内容 例子 SPs).
如果您的Aurora DBs是基于MySQL的,或者您的数据量非常大,您可能希望从以下方面入手 将数据从Aurora导出到S3 然后 将提取物加载到Redshift中.
随着您对Redshift的熟悉,您可以向您的表添加分布键和排序键以提高性能。Redshift Advisor会建议有效的分布键和排序键。 基于你运行的查询。
这个过程应该可以让你快速地开始使用Redshift,然后你可以在以后需要它们的独特和特定能力时开始使用Glue或Matillion。