首页 文章

Redshift中的增量加载

提问于
浏览
0

我们目前正致力于将数据加载到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生态系统内完美运行并且成本最低吗?

2 回答

  • 0

    我依靠Attunity将您的OLTP数据带入临时区域,因为它非常善于管理管道的这一部分(尽管您必须使用repctl构建相当数量的自己的监控),并且可以非常划算解决这部分传统上非常昂贵的ETL . Pentaho DI是一个很好的选择作为ETL工具来运行ETL过程的过程组件,因为您可以构建(虽然它有一些内置的)“触发器”来监视数据库表,文件系统,ftp站点,队列等 . 并且让它们运行你想要的任何类型的过程 . 有一个很好的社区版本,其中包含大部分细节和支付EE版本,对于支持和调度程序来说是值得的 .

  • 0

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

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

相关问题