1

我正在寻找有关通过 VPN 将外部主机从 MySQL Community Server 5.1.32 批处理数据到内部 SQL Server 05 Enterprise 机器的机制的一些反馈。外部盒子在整个工作时间内积累数据(每天约 100Mb),然后需要通过 WAN 连接(质量尚未确定,但不会超快)在国际上传输到内部公司环境,然后才能进行一些 BI 工作执行。这应该只是每晚都在进行的变更集。

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

4

3 回答 3

2

这取决于您对从外部机器接收到的数据的用途。

如果您必须拥有第二天早上的计算数据,或者对您的网络没有信心,您更愿意将两个系统松散耦合并在它们之间启用一些消息队列,以便如果在夜间出现故障,例如数据库、网络链接、任何让您难以恢复的东西,您都可以每天早上从一些数据开始。

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

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

于 2010-03-30T05:52:09.323 回答
2

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

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

于 2010-03-30T13:53:20.827 回答
1

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

于 2010-03-30T08:24:47.813 回答