MySQL到SQL Server上的ETL机制

时间:2010-03-29 03:26:51

标签: mysql sql-server ssis etl business-intelligence

我正在寻找一些反馈机制,以便将数据从MySQL社区服务器5.1.32批量处理,外部主机通过VPN到内部SQL Server 05企业计算机。外部盒子在整个工作时间(每天大约100Mb)累积数据,然后需要通过WAN连接(质量尚未确定,但不会超级快)在国内企业环境中进行国际传输,然后才能进行一些BI工作。执行。这应该只是变化集,每晚都会降低。

我对以前人们在类似场景中成功使用的ETL机制的想法很感兴趣。 SSIS似乎是一个潜在的候选人;任何人都可以评论这种情况的适用性吗?或者,对于如何以成本意识的方式做到这一点的其他想法将是最受欢迎的。谢谢!

3 个答案:

答案 0 :(得分:2)

这取决于您从外部机器收到的数据的使用情况。

如果您必须拥有早上计算的数据或对您的网络没有信心,您宁愿松散耦合这两个系统并在它们之间启用一些消息队列,以便在晚上就像数据库,网络链接,任何让你恢复的痛苦,你可以每天早上用一些数据开始。

如果数据检索不具有高度的关键性,那么任何解决方案都是好的:)

关于SSIS,它只是一个很棒的ETL框架(是的,有一个微妙的:))。但我不认为它是数据传输的一部分,而是在收到数据或仍在消息排队系统中等待的ETL部分。

答案 1 :(得分:2)

首先,如果您要这样做,请有一个很好的方法来轻松查看自上次以来发生的变化。每个字段都应该有一个最后更新或更新记录时更改的时间戳(不确定mysql是否有这个)。这比比较每个字段要好得多。

如果你在两个位置都有SQL Server我建议复制,是否可以使用SQL服务器而不是mySQL?如果没有,那么SSIS是你最好的选择。

答案 2 :(得分:1)

在实际将数据从MySQL导入SQL Server方面,您可以使用SSIS使用多种方法导入数据。一种是直接连接到您的MySQL源(通过OLEDB连接或类似),或者您可以每天从MySQL导出到平面文件并使用FTP任务进行选择。获得数据后,SSIS可以在将处理后的数据加载到SQL Server之前执行所需的转换。