blogs.conchango.com

welcome to the conchango blogging site
Welcome to blogs.conchango.com Sign in | Join | Help
in Search

SSIS Junkie

Conchango are busy and need talented consultants in and around London. Interested? Email me or send me a message

SSIS: A response from Microsoft to some growing criticism

Last week was an interesting week in the SSIS community instigated fairly and squarely by Oren Eini's blog entry entitled SSIS' 15 faults. The discussion really reached critical mass when Steve Jones highlighted it in his weekly newsletter Database Daily.

I posted a response here which prompted alot of comments. In fact, in terms of concentrated activity this blog post has become my most popular ever (thanks for that Oren) and its clear that many people agree with Oren whilst others are more tolerant of SSIS's perceived shortcomings.

Deep in the depths of those comments was one from Denise Draper. Denise is the SSIS Group Program Manager (I think that's her title -whatever, she is head of the SSIS team). With Denise's permission I have re-posted her comments here below because a Microsoft response to this is important. Make of this what you will.


Wow --- there's a lot of good material in here, and it will be required reading for the SSIS team, along with Oren's original post and Phil Brammer's response as well.  Everyone has done a great job of covering a lot of the specific details already (thank you Jamie, Phil and others), so I won't try to cover everything.  I'll just add some thoughts that come to mind:

DTS was pretty popular --- in fact it was hands down the most popular ETL utility out there.  But we knew the design of DTS wouldn't scale to upper-0end ETL requirements, and we heard from customers that they wanted and expected us to do that.  So we bit the bullet and built a completely new product.  There are lots of aspects of the product that I'm very proud of (I say "I" but it wasn't me who shipped it, it was my predecessor) --- the clean separation of control from data flow, the way error flows are handled within data flows, and the open extensibility through scripting and coding are some of my favorites.  There are some places where we didn't get mature enough in the design and we tried in those cases to have a very open solution, so that our users could adapt the product to their own needs --- package management and deployment, configuration and logging all fall into those categories.   In all of these cases, there is confusion (justified) as to how to use the product, but it is usually possible to adapt to the needs of any particular installation.

So one question I ask is: did we achieve a platform on which we can continue to build functionality that will scale up to data integration generally?  Is this the right architecture?  I think the answer is yes.  I know customers who have built astoundingly large solutions --- large in terms both of the amount of data handled and of the number and complexity of the packages that they manage.  And SSIS works for them reliably.   I know of lots of things that I want to change in the product, but I think SSIS was the right step in the right direction.

Some architecture choices are not so obvious.  For example, we have chosen to use generic open interfaces to access data.  On one hand, this lowers our cost (and hence your cost) greatly --- the portfolio of special-purpose connectors is a big part of the (huge) price of upper-end ETL.  But the downside is that we inherit whatever issues come with the data source drivers, which are not under our control.  We get a lot of issues about Oracle connectivity, for example, that have nothing to do with SSIS.  But if you are an SSIS user, that distinction doesn't really matter, does it?  This is an area we are still debating --- it really is expensive to own and ship our own connectors.

Another example of a choice that isn't obvious is the whole question of integration with Visual Studio and the development environment generally: I get feedback from some customers that SSIS is too "developer oriented" but from some developers that it isn't developer oreiented enough.  It looks as though folks on this thread are more from the developer camp, but let me ask:  in an ideal world, do you switch back and forth between graphic ETL design and code, or do you never see code, or something else?  Do you prefer very simple tools that you scale up to large solutions (by creating subroutines, macros, etc.), or do you prefer tools that have enough smarts in them to know most of the problems you want to solve?

There is still lots of things we want to improve --- we wouldn't be software engineers if we didn't feel that way, would we :-)   The next release of SQL Server is a small one, but it will fix some big annoyances: better scripting support, better debugability, better wizard.  But some areas, like deployment, were just too big to fit into this release --- we'll try to provide better guidelines in those cases.

Better organization to the documentation and better help getting started generally --- these are things that we know are needed and do intend to keep working on.  I look at something like Oren's original criticism of SSIS configuration and that is what I see --- it may be that there is something funky in Oren's setup, or it may be that he's come across a bug --- either way, what is clear is that the expected behavior of SSIS isn't clear enough to him for him to tell what is going on.

We have a lot of good plans on the drawing board.  Feedback like this helps us --- we hear about issues that we maybe didn't know about, and we use it to prioritize all the stuff we'd like to work on.  I know it takes longer to get new stuff out than any of us want, and that it's frustrating to deal with the flaws in the meantime.  But I still think there's already a lot of great value in SSIS once you get to learn it, enough to make it worth learning it.


-Jamie

 

 

Published 30 July 2007 19:01 by jamie.thomson

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

abombss said:

If logging, configuration, and deployment were known shortcomings of the product back in 2005 how are they not addressed 3 years later for the 2k8 release?

July 30, 2007 21:14
 

Andy Leonard said:

Jamie,

  Thanks for this follow-up and thanks to Denise for allowing you to post this response. It's not possible to please all of the people all of the time (...as evidenced in the previous comment...), but the product is easily defensible as a version 1.0 release.

:{> Andy

July 30, 2007 23:26
 

Jason Haley said:

July 31, 2007 16:52
 

Scott Whigham said:

RE - Andy Leonard's comments - I've been telling people the same stuff in my classes - SSIS is great for a version 1.0 product. The problem is, of course, that the "product" should've been 3.0 :(

August 3, 2007 01:15
 

Jeff Belina said:

Thanks very much for this information.  I for one, was glad to see Microsoft respond and appreciate Denise's willingness to be quoted officially.

I'm looking forward to the improvements to SSIS!

Jeff

August 3, 2007 21:10
 

LC said:

I agree with Jeff.  It seems the hardest part with feedback to MS is simply getting the necessary visibility.  I can't tell you how many times I've tried to pose a question and/or give feedback only to be ignored by the relevent MS group.  Kudos to Denise for acknowleding/responding to the feedback for SSIS.  Now if only the SQL Storage Engine team was as receptive as Denise then I'd have something.

August 7, 2007 18:02
 

P R W said:

I've read the original post and comments today, including those by Jamie, Andy and Denise and it's been a very interesting read !

I felt I needed to add my own comments too as I've been using SSIS for a year now and as one of my main tools of use as a DB Architect I've some knowledge in a lot of the points raised.

I recognise some of the points raised but I do agree with Andy that a lot of them are learning, knowledge experiences. Now don't get me wrong (before some people start flaming away), there are a lot of issues with SSIS. Believe me, I've experienced them. We are a new team dealing in all MS products very fortunately at the cutting edge - 64 bit, SQL 2005, .net, RS 2005, TFS etc. and consistently our problems in projects have been mainly with SSIS.

I could write a whole blog in itself with regards to the problems I experienced with Transactions in SSIS (thankfully appear to have been fixed with SP2).

However, what it seems a lot of people forget is that SSIS is NOT DTS. Most things you learnt with DTS you can forget in SSIS. Fundamentally, SSIS is a very complex tool. After working with this product for a year I would still consider I have so much more to learn about what this tool can do. That is where a lot of the comments I have seen occur. It will take far more time than people imagine to learn what this tool can do for them because we don't know what we don't know (if that makes sense) and yes SSIS is a v.1 product. This tool takes time to learn, more than anyone thing I've experienced before if you really want to use all its functionality.

Therein lies the rub with me and this is the mistake MS have made. This is such a complex tool that bears no relation to DTS and requires DB personnel to start using the VS IDE environment that there has been such a learning curve that no wonder peoples experiences as determined by the comments have been such. Remember SQL 2005 is itself a 3rd generation DB platform from MS and is another big step up from 2000, compared with 7 to 2000.

MS consistently fail to recognise this and it is about time they got to grips with it. I feel it is now inexcusable to put out the so-called Help files that they do. BOL in no way provides anywhere near enough full and accurate info in order to help with this learning curve. I could give hunderds of examples here but let me give one which I came across recently: Connection Pooling. There are several options here to define related to OLE DB Connection Mgr. See anything in BOL on it. Nope. Not a thing.

SSIS has the potential to be a great product.(Note the word potential). It is currently not a great tool but it is not a bad tool either. It is up to MS to determine whether they want it to become a great tool. It can be they just need to put the resources together to do it. However, reading some of Jamie's comments it concerns me that this may be the case which would be a pity.

August 9, 2007 10:14
 

Ole Øverli said:

Is there any (un)/official wish list somewhere for SSIS (and SSAS) ?

Want badly to influence on future development.

September 19, 2007 13:15
 

Ralphsta said:

Well, I must say the biggest mistake made is Microsoft just took DTS and tossed it aside.  No big deal to the companies utilizing a large number of DTS in their day to day business.  The importing of old DTS with any scripting (which we use a ton) is a waste of effort as the package is worthless after importing to SSIS.  Forget running under legacy either since we all know that will not be here for long.  So now we must rewrite all of our DTS.  It will not happen, and when the next version comes along, I am sure Microsoft will tell all of us the changes will be in our best interest and they will help make SQL more robust.  They got one part correct, SSIS is a bust!

November 2, 2007 14:28
 

Mike said:

I am new to SQL Server BI (moving from DB2 and Hyperion) and I started using SSIS and found it easy to learn. I could teach someone in my team the basics that they need to know (I am no expert either) to do their ETL work. I guess the connection manager/deployment process could be documented better. For example, my first few days, I didn't realize that the when you create a new database connection in BIDS, it stores it in registry and even if you delete it from the connection manager, it magically shows up from registry in the connections list! I guess I still have a lot to figure out...

May 31, 2008 07:20

Leave a Comment

(required) 
(optional)
(required) 
Submit

This Blog

Syndication

News

Powered by Community Server (Personal Edition), by Telligent Systems