|
|
1
4
除了读一些基础知识外,我不知道ssis。和您一样,我对Linq非常熟悉,可以快速编写代码来推动和转换数据。 但是如果这个表有4千兆数据呢?你认为你的LINQ代码会处理得很好吗?它可以被处理,但不容易,特别是如果有很多表相互引用的话。一个幼稚的LINQ实现将尝试将所有内容加载到内存中并崩溃。 另一个理由是你的同事对SSIS很有信心。您提供给公司的任何基于SSIS的解决方案对公司来说都比Linq更有价值,因为其他人可以拿起它并修复或扩展它。 |
|
|
2
4
和所有事情一样,SSIS也有其优点和缺点。 有一个陡峭的学习曲线,而且往往感觉他们应该是简单的事情不是。有时这就是SSIS及其工具的错误,有时这只是不以SSIS方式思考的情况。 它的一个优点是它是一个服务器产品,所以像错误处理和日志记录之类的事情(至少部分)已经为您处理好了。 如果您正在跨不同的系统构建复杂的ETL包,那么它是一个非常合适和强大的工具,并且可以是一个很好的添加到您的技能集,特别是当您需要参与解决方案的初始设计过程时。如果您只知道C代码,那么当一个SSIS包可能是正确的解决方案时,这就是您所能建议的全部内容。 目前,对于SSIS如何与SQL以外的其他数据库产品集成(例如,它对Oracle的支持非常糟糕),有点痛苦,但我相信微软致力于SSIS,并将不断改进它。如果你在一家微软商店工作,那么现在投资学习它可能是值得的。 在缺点方面,这里有一个 post by Ayende 与SSIS讨论一些关键症结。 我不同意他们所有人的观点,也不认为他们是一个交易破坏者,但很高兴知道什么会在以后伤害你。
我确实认为下一个版本的SSIS将解决所有这些问题…这只是微软世界的一部分,事情会逐步好转,但确实会有所好转。 |
|
3
2
SSIS是一个很好的工具,但您必须首先掌握基础概念。它允许您专注于ETL过程,而不是编程和调试代码。有一个学习曲线。 看一看 Microsoft Project Real 示例并查看类似的foreach循环等价物。 你可能还想看看Pentaho水壶和Oracle数据集成器,但我猜你也会有同样的感觉。 |