August 30, 2009
Those years in marketing taught me nothing
Darryl is running a competition: “If you were talking to an Oracle DBA what would be the top five features of SQL Server that you’d point out to them that makes SQL Server compelling?”
This was my reaction:
If I were talking to an Oracle DBA, the five compelling features I would point out would be ease of use, ease of use, ease of use, ease of use and ease of use.
The Oracle DBA would then roll his eyes, sigh condescendingly and reply, “You see, what you don’t understand is that Oracle isn’t a toy database.”
I would then punch him in the mouth, yell “Not so fucking smug now, are you, you fucker?” and then run away.
This is why I will never win any of Darryl’s competitions.
(In the interests of fairness I should note that this is exactly how Access users perceive software developers, so we have a few planks to take out of our own eyes too.)
TrackBack URL for this entry:
Listed below are links to weblogs that reference Those years in marketing taught me nothing:
But what do you find easier? Admit-ably I only use the express tools but the are both equally painful.
Oracle has the TRN file to step-up,
MS has some functions missing like lag (can be worked around)
Posted by: Simeon at Sep 1, 2009 9:01:35 AM
I don't want to rag on Oracle (another reason I will never win any of Darryl's competitions *grin*) -- my comment was mainly about attitudes (and was mainly intended as a joke). However, since you asked...
I'll grant you that if you try to do everything with sqlcmd, rather than SQL Server Management Studio etc., it may not be much easier than Oracle. (I've not tried living the sqlcmd/sqlplus lifestyle for long enough to be sure.) But SQL Server comes with SSMS (even Express has it as a separate download); and the usability of Oracle GUI tools tends to be pretty poor. Take something as simple as setting up a connection: do I use Net Manager or Net Configuration Assistant? Which of Listener, Naming Methods, Local Net Service or Directory Usage do I need? Is the Service Name the local name or the server-side name? And this is just defining the *name* of a database! We were setting up an Oracle test database here a month or so back. We couldn't get Oracle XE to respond after copying the VM to another machine, and had to reinstall from scratch (and again, Oracle Installer is a real "guess the options" game). Creating a database required us to wade through half a dozen screens of incomprehensible questions, then took the best part of an hour, then failed with a cryptic message. How many reasonably smart developers does it take to create an Oracle database? Three, and a significant chunk of an afternoon. Whereas even a dullard like me can create a SQL Server database in about thirty seconds, of which twenty are thinking of an amusing name that I haven't used yet.
Now you will reasonably and rightly point out that for an experienced DBA, all this stuff isn't an issue. They know how to do this stuff, they know what the questions mean and they care about the answers. And that's why ease of use isn't going to be an attractive argument to existing Oracle DBAs anyway: "You want me to throw away all the tools and techniques I know, understand and have mastered, and start over with something else? Yeah, *that's* going to make me more productive." And they're right -- for them.
But for people who don't need to live and breathe their database installation, or who don't already have ten years of Oracle DBAing under their belt, the SQL Server toolchain is much better at compromising with those people. The SQL Server tools tend to tax you with the complexity only of what you need, whereas Oracle forces all that complexity on you whether you need it or not.
Incidentally, noting your comment about lag etc., I'm talking here about the database admin and management side of things. I'm not talking about the PL/SQL language, which has pretty much identical usability to T-SQL, and as you note also has several features that T-SQL doesn't (or has only recently acquired).
Posted by: Ivan at Sep 1, 2009 3:13:27 PM
Agreed about that install process of Oracle XE is person-unfriendly. I forgot about that, and we just wrote a 15 page doc saying what to put in each field/page, etc. But we had some many pages of install process, (of which I think is evil) added more didn't seem very memorable.
I've never used SQLPlus, I just used SQL Developer, which is very SSMS-ish.
Posted by: Simeon at Sep 2, 2009 5:41:47 PM
Yes, we used that (at least I assume it was the same thing -- PL/SQL Developer) at my last job but one. Definitely made life a truckload easier.
Posted by: Ivan at Sep 2, 2009 7:10:19 PM
I have a feeling we have had this discussion before, or maybe it was in my nightmares.
My main objection to SQL Server is OLEBloddySoddingDBloddyB which is a ludicrous meta-API of the
returns an error code OLEBSBDBB_E_SOME_ERRORS_OCCURRED_BUT_IM_NOT_TELLING_YOU_WHAT
And, of course it is documented, there, it tells you that SetProperty takes a ULONG and a VARIANT, and that DoSomething takes a Property and an HRESULT, what more do you want?
Not that there is anything wrong with the irksome meta-API (well there is, obviously, but assume not for a rhetorical flourish) if they actually documented the API beneath.
At least Oracle has OCI, SQL Server had a C API which it inherited from Sybase but hasn't been maintained.
Posted by: Harvey Pengwyn at Sep 3, 2009 10:30:43 AM
Also, in what sense is Access easy to develop in? The forms stuff seems a particularly cruel trick (though it may have got better in the last 10 or so years) in that it is remarkably hostile to use compared, say, to VB Classic with its data bound controls. If Access users think SQL Server / Oracle people are using something complex and unfriendly they are victims of a very cruel prank.
Also, considering ODBC is a Microsoft technology, the SQL Server ODBC driver ought to be better, there isn't the excuse that there is with Oracle that the ODBC drivers are unloved by both parties (hasn't the Microsoft OLEDB driver for Oracle been abandoned recently? It's deja vu all over again).
Posted by: Harvey Pengwyn at Sep 3, 2009 10:34:32 AM
Dude, you're at least four iterations of the Microsoft data access stack behind the times. Get on the treadmill and get with the fads! But to reiterate my comment to Simeon, what Darryl was talking about was specifically the admin and management side. In terms of data access, there's very little difference between Oracle and SQL Server (at least at the rarefied levels of the stack where I am content to exist).
In what sense is Access easy to develop in? Sales guys can do it. The bloke from goods inward can do it. Almost anyone can do it. And they do. How do you think all those horror stories of mission-critical LOB applications being written in Access came to be? Access is *seductively* easy to use. Sure, it's not easy to develop *properly* in. Never said it was. I made a comment about how Access users *perceive* developers, sneering at Access as a "toy database" and insisting that the complexity of a "real" database is essential (in the Fred Brooks sense).
Posted by: Ivan at Sep 3, 2009 7:21:09 PM