Redshift中的增量加载

时间:2014-12-14 14:11:51

标签: amazon-web-services amazon-s3 amazon-redshift amazon-data-pipeline attunity

我们目前正致力于将数据加载到Redshift中。我们这里有不同的场景。如果OLTP数据库是驻留在本地的SQL Server,那么我们可以考虑像Attunity这样的工具,它可以帮助通过S3将数据加载到Redshift。 CDC中的关联性是明智的,它识别读取事务日志的更改,并可以相应地对目标应用更改。但是这种工具在ETL​​过程中应用转换逻辑很差。 Attunity不是SSIS或ODI的替代品,但在从各种来源提取和加载数据方面表现良好。因此,为了进行转换,我们需要一个合适的ETL工具。我们可以使用Attunity在Redshift内的暂存区域中加载数据,从暂存区域我们可以使用另一个ETL工具或使用触发器将数据加载到目标表。由于Redshift不支持触发器,那么ETL工具可能是什么?我们在此处未找到AWS Data Pipeline以外的任何内容。但是使用两个工具:Attunity和AWS Data Pipeline可能会变得昂贵。还有其他替代方式吗?我们不认为Data Pipeline可以连接到本地SQL Server。它仅适用于亚马逊生态系统。

现在让我们考虑一下我们的内部部署SQL Server现在部署在Amazon RDS中。那么情况可能会有所不同。我们仍然可以遵循上述相同的ETL过程:使用两个工具Attunity和AWS Data Pipeline。但这次只使用一个工具应该更容易:AWS Data Pipeline。现在,AWS Data Pipeline是否足以处理所有方案?我们没有发现它可以读取事务日志。但我们应该能够应用其他方法来增加负载。一种非常常见的方法是考虑每个源表的最后修改日期列。然后我们可以识别RDS Sql Server表中的行,这些行是从上次加载时间修改的。但是,我们无法直接将已更改的数据从RDS更改为Redshift。我们必须使用S3或DynamoDB。我们可以使AWS Data Pipeline使用S3作为路由。这看起来似乎很头疼。也许还有其他更简单的方法。现在,AWS Data Pipeline在竞争激烈的市场中再次焕然一新。此工具的一个非常大的限制是无法从AWS外部的不同来源(例如Salesforce,Oracle等)加载数据。还有其他易于使用的工具可以毫无困难地在AWS生态系统内完美运行并且成本最低吗?

1 个答案:

答案 0 :(得分:0)

“AWS Data Pipeline可能会变得昂贵” 这种亚马逊服务是免费的。

您可以使用Amazon Workflow Service来安排ETL转换的步骤。