【发布时间】:2018-01-17 17:26:32
【问题描述】:
我们的团队正在尝试在 Redshift 中创建一个 ETL,作为我们用于某些报告的数据仓库。我们正在使用 Microsoft SQL Server,并将我们的数据库划分为 40 多个数据源。我们正在寻找一种能够将来自所有这些相同数据源的数据通过管道传输到 1 个 Redshift DB 的方法。
查看 AWS Glue 似乎无法实现这一点。由于他们打开了工作脚本供开发人员编辑,我想知道是否有其他人有过循环多个数据库并将同一个表传输到单个数据仓库的经验。我们正在努力避免自己必须为每个数据库创建一个作业...除非我们可以以编程方式循环并为每个数据库创建多个作业。
我们还研究了 DMS,它有助于将架构和当前数据转移到 redshift,但它似乎也不适用于多分区数据源问题。
【问题讨论】:
-
我的一些同事遇到了类似的问题,在对 Amazon Glue 没有印象后,他们最终使用了 Matillion。但是我认为他们必须做一些奇特的逻辑来合并来自多个数据库的数据。
-
@ColdSolstice 感谢您提供信息,很遗憾听到他们无法使用 Amazon Glue,但我一定会研究 Matillion。您是否知道他们是否将此解决方案不仅仅用于数据迁移,并且将其用作数据仓库来持续进行管道传输?
-
SQL Server 也支持分区和列存储。您确定需要新数据库而不是更好的架构吗? 40 个数据源是什么意思?为什么不是单个数据仓库?为什么不使用星型模式和列存储?
-
@LucaKlaassen 1st) 我们在谈论多少数据?为什么在 RAID 阵列、OLAP 多维数据集或列存储中使用 40 个服务器而不是更多磁盘? 2nd) SQL Server 自 2000 年以来支持联合视图。您可以拥有一个引用其他表的视图,只要它们具有适当的约束,优化器就会知道向适当的链接表询问数据。
-
@LucasKlaassen 另一方面,联想发布了单实例 10TB 数据仓库 almost 2 years ago 的 TPC-H 结果。你有多少数据?在该范围内,Redshift 将花费 $10K-$55K per year
标签: sql-server amazon-redshift etl database-partitioning aws-glue