SSIS Mysql最佳实践

时间:2013-12-04 20:05:12

标签: mysql ssis etl

我们正在将后端从ms sql server移动到mysql。实际上我们目前使用的是几个mysql服务器,但主要是ms sql server。我之所以提到这一点是因为我们并不是全新的mysql。每天我们都会做很多ETL,以使我们的后端与遗留系统保持同步。我们移动大量数据并且使用sql server比使用mysql for ETL容易得多。我知道SSIS是MS,但它仍然令人头疼。

我们正在使用sql server 2012和BIDS 2010.以与ms sql数据相同的速率移动mysql数据一直很困难。我们主要处理mysql中的innodb表。总结一下,我一直在SSIS中使用mysql ODBC连接器和ODBC目标。第一步是在导入时关闭自动提交。即使有了这个设置,我也可以在包执行中看到数据源最终在目的地上等待。它前面有大约40,000行并等待。

接下来,我将数据导出到文本文件,然后使用sql任务和INFILE命令导入。这提供了相当好的性能,但代价是更多的移动部件。我对这种方法有几个问题,但它确实有效并且表现良好。

最后,我尝试了Devart的第三方SSIS组件。它创建自定义mysql源和目标组件。性能不如INFILE好,但它并不坏,它使得包简单,就像处理sql server ...数据源和数据目的地一样。没有搞乱自动提交,导出,INFILE等。但是我不能使用连接来执行其他任务,如截断表和东西。所以我仍然有我的ODBC连接来完成这些任务。我打算问Devart这件事。

现在看起来Devart将是一个很好的平衡。如果我绝对需要表演我有INFILE方法。

我也尝试过mysql网络连接器,根本无法工作。我在Windows 7 64bit上使用Sql Server 2012 64bit运行。基本上我在BIDS中需要的一切都是在32位运行,所以我猜测这部分问题。

我的问题是,在使用SSIS移动mysql数据时,其他人正在做什么?一直很麻烦。对其他人正在做的事情进行一些输入会很好。你用什么方法?您使用的是第三方组件吗?有没有更好/专门的地方讨论SSIS和mysql?

0 个答案:

没有答案