代码之家  ›  专栏  ›  技术社区  ›  Pierreten

对于开发人员来说,学习/使用SSIS是否值得?

  •  6
  • Pierreten  · 技术社区  · 16 年前

    我开始参与到我目前的工作中,相当多的ETL工作中,而且每个人似乎都非常偏爱SSIS。我正在努力通过bi-studio进行最简单的转换,通常相当于几个foreach循环加上少量的linq。我不确定这个工具将对哪些用例或用户有用,并且可能会说服管理层我可以不使用它。什么是最好的方法来证明我的观点,或者如果有更好的工具的建议,我也会很感激。

    3 回复  |  直到 16 年前
        1
  •  4
  •   Frank Schwieterman    16 年前

    除了读一些基础知识外,我不知道ssis。和您一样,我对Linq非常熟悉,可以快速编写代码来推动和转换数据。

    但是如果这个表有4千兆数据呢?你认为你的LINQ代码会处理得很好吗?它可以被处理,但不容易,特别是如果有很多表相互引用的话。一个幼稚的LINQ实现将尝试将所有内容加载到内存中并崩溃。

    另一个理由是你的同事对SSIS很有信心。您提供给公司的任何基于SSIS的解决方案对公司来说都比Linq更有价值,因为其他人可以拿起它并修复或扩展它。

        2
  •  4
  •   David Hall    13 年前

    和所有事情一样,SSIS也有其优点和缺点。

    有一个陡峭的学习曲线,而且往往感觉他们应该是简单的事情不是。有时这就是SSIS及其工具的错误,有时这只是不以SSIS方式思考的情况。

    它的一个优点是它是一个服务器产品,所以像错误处理和日志记录之类的事情(至少部分)已经为您处理好了。

    如果您正在跨不同的系统构建复杂的ETL包,那么它是一个非常合适和强大的工具,并且可以是一个很好的添加到您的技能集,特别是当您需要参与解决方案的初始设计过程时。如果您只知道C代码,那么当一个SSIS包可能是正确的解决方案时,这就是您所能建议的全部内容。

    目前,对于SSIS如何与SQL以外的其他数据库产品集成(例如,它对Oracle的支持非常糟糕),有点痛苦,但我相信微软致力于SSIS,并将不断改进它。如果你在一家微软商店工作,那么现在投资学习它可能是值得的。


    在缺点方面,这里有一个 post by Ayende 与SSIS讨论一些关键症结。

    我不同意他们所有人的观点,也不认为他们是一个交易破坏者,但很高兴知道什么会在以后伤害你。

    • 由于缺乏良好的日志扩展性,我感到很恼火——以一种不同于s s is的方式登录是非常困难的。
    • 配置模式可能是一种真正的痛苦

    我确实认为下一个版本的SSIS将解决所有这些问题…这只是微软世界的一部分,事情会逐步好转,但确实会有所好转。

        3
  •  2
  •   Damir Sudarevic    16 年前

    SSIS是一个很好的工具,但您必须首先掌握基础概念。它允许您专注于ETL过程,而不是编程和调试代码。有一个学习曲线。

    看一看 Microsoft Project Real 示例并查看类似的foreach循环等价物。

    你可能还想看看Pentaho水壶和Oracle数据集成器,但我猜你也会有同样的感觉。

    推荐文章