ETL

  • Comments posted to this topic are about the item ETL

  • I think I may of been put off SSIS by having to use DTS in the past.

    A .NET product I worked on (prior to me working on it) used DTS to do imports and exports that were initiated through a .NET windows application.

    This was HELL to configure and maintain plus clients IT teams would always complain about the security.

    A lot of things that are wrong with DTS are still wrong with it's replacement SSIS. That is (unless I'm mistaken, which I admit could be true):

    1) you can't have DB level packages

    2) Because of (1) you can't grant on a per package basis a user/role permission to run it.

    3) Because of (2) running a package from a stored procedure requires using a proxy account or grant a user more permissions than you actually want them to have.

    If you are using SSIS as one offs that manually get run (e.g. during migration of data from legacy system to new SQL Server system) or as a job that's run in SA context then they might be alright. Anything else, no thanks.

  • I still consider it a nicely featured Beta product.

    It is powerful and certainly up to any task thrown at it now in 2008 (or even better in R2) but the interface and how the tasks are integrated is not a common user experience. However this complexity also serves SSIS well when a task is required that is not part of the standard - it is up to the programmer/developer simply to make it up (or fudge it with a stored procedure) and it will do the job.

    DTS was simpler but with more limitations.

    Considering SSIS's price as a platform it is a very nice product in comparison to the big packages like Data Integrator but still has a long way to go to produce a nice homogenous user experience.

  • I appreciate the extra flexibility of SSIS (over DTS) but my main complaint is it is very tender. Meaning, things that would have been passed over in DTS (say very changes in a source file format) seem to cause failure, which often causes extra work. Despite the extra flexibility it seems no easier to deduce what the problem might actually be.

    My DBA (I am a dev really) curses its capricity, although admittedly his general nature dictates a dislike of change etc.

  • I've never used DTS but I have a love-hate affair with SSIS - I think it's incredibly useful and almost always appear evangelical on the topic, but as stated by an earlier poster it is capricious. About two thirds of my time is spent dealing with what are quirks/limitations of the system, for instance I often pull my hair out trying to get the data types of unicode and non-unicode to match up between datasets and tasks, as opposed to actually developing the actual flow.

  • Compared to DTS it is a huge step up. Compared to tools like Sagent, Informatica, and Ab Initio it is still a "better than nothing but not ready for prime time" tool. It is inexpensive but you get what you paid for. Hopefully it will continue to improve.

  • Honestly, I think SSIS gets the jobs done. (More precisely, I get the job done and SSIS is one of my tools for doing so.)

    Does it have all the bells and whistles? Nope. Haven't needed them yet, either.

    I also haven't tried to use it in a serious "Enterprise Level" environment, so I could be completely delusional on that aspect of it.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • For shops that have no .net development expertise (or desire to do so) its a good tool. Also very good for shops that have lots of varying but lightweight integration tasks to do on a regular basis.

    Having said that, for those that have a few specific and consistent integration jobs that are a regular part of the production environment I would always use a purpose built solution in .NET (or C++ if you need that level of performance). In my experience the result is more efficient and reliable solution because you can add robust error detection and recovery procedures that make these jobs bulletproof. Does require competent .net software developer(s) though.

    The probability of survival is inversely proportional to the angle of arrival.

  • sturner (11/4/2011)


    For shops that have no .net development expertise (or desire to do so) its a good tool. Also very good for shops that have lots of varying but lightweight integration tasks to do on a regular basis.

    Having said that, for those that have a few specific and consistent integration jobs that are a regular part of the production environment I would always use a purpose built solution in .NET (or C++ if you need that level of performance). In my experience the result is more efficient and reliable solution because you can add robust error detection and recovery procedures that make these jobs bulletproof. Does require competent .net software developer(s) though.

    Yep thats effectively what we did on the product I mentioned earlier when we dumped SQL 2000 (and hence DTS) and moved to SQL 2005/8. We wrote a solution into our .NET product rather than attempt to convert everything to SSIS (the conversion tool found lots of things in the DTS package that would require intervention)

  • I agree that Enterprise jobs should not use SSIS but use custom .NET code for importing and exporting complex file formats. We only use SSIS for one offs that can be ran manually. All other type of data integration tasks we use MS queues that call custom .net code. SSIS packages break frequently, our custom .NET code has been running 24/7 for 8 years without error (other than network outages) and processing millon of dollars in payments.

  • SSIS is a huge improvement over DTS and it created a framework for custom components that will carry ETL well into the future. Custom SharePoint Source integration is a good example of this. I've finally gotten pretty efficient at coding ETL in SSIS, but sometimes you hit those circumstances that are difficult to troubleshoot. I score SSIS 2008 R2 at an 8 of 10.

  • Am I the only one who really has a hard time getting comfortable with the graphic environment.

    Dragging and dropping arrows seems to leave an awful lot of the transaction unspecified and kind of vague. I am so much more comfortable with object libraries with specific paramaters and defaults and where the relationships can be edited in text.

    but maybe I'm missing something.

    ...

    -- FORTRAN manual for Xerox Computers --

  • I love BIDS, but I have a gripe: it is available only in VS2008, not in VS2010, and it forces me to keep both versions side by side.

    I am looking forward to VS2012 -- it catches up with SQLS 2008 R2.

  • coolboy (11/4/2011)


    I agree that Enterprise jobs should not use SSIS but use custom .NET code for importing and exporting complex file formats. We only use SSIS for one offs that can be ran manually. All other type of data integration tasks we use MS queues that call custom .net code. SSIS packages break frequently, our custom .NET code has been running 24/7 for 8 years without error (other than network outages) and processing millon of dollars in payments.

    I don't know about SSIS packages breaking regularly being a problem with SSIS.

    I've got several complex packages that run several times per day, and haven't had the packages break yet. It's only been 14 months that I've been running them, but "frequently" would indicate, to me, that I should expect breakage more often than I've seen. (0 "breaks" in the last 4,680 executions.)

    Nothing wrong with building your own .NET solutions, but frequent breaks in an SSIS package should be cause for re-examination of how the package was built and tested, not a rejection of SSIS.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • GSquared (11/4/2011)


    . . . Nothing wrong with building your own .NET solutions, but frequent breaks in an SSIS package should be cause for re-examination of how the package was built and tested, not a rejection of SSIS.

    We are importing tens of millions of rows from flat files. Unfortunately, it may happen that the data contains a newline character and the line is broken into two fragments that cannot be parsed. Then C# comes quite handy: we can find what is the length of the line following the one that failed parsing, and if the length indicates that indeed this is the case, we join the two segments and reparse.

    Trivial, but SSIS just does not have tools to handle this natively.

Viewing 15 posts - 1 through 15 (of 26 total)

You must be logged in to reply to this topic. Login to reply