5 ms·
I'm always a bit surprised that SQL Server doesn't get the recognition that (IMO) it deserves As someone who has spent 13 years with it and has dragged himself
by meaty 14y ago
I'm always a bit surprised that SQL Server doesn't get the recognition that (IMO) it deserves
As someone who has spent 13 years with it and has dragged himself through multiple certification cycles, the reason it doesn't get recognition is that it's an insanely deep money pit when you have to scale it. By the time you've forked out for the (now suddenly per core rather than CPU[1]!) enterprise license, all the 3rd party backup and restore tools, numerous windows licenses and had your arse audited for license compliance, you're down a lot of cash.
Not only that, from a technical perspective, it's an absolute bastard to administer, particularly if something goes snap. It requires significantly more meat popsicles to run than a similar sized Postgres or MySQL cluster.
To be honest, it's cheaper to solve all the problems that SQL Server solves at an architectural level these days. It's no longer something special (was it ever?).
The only thing going for it these days is that it's better than Oracle.
[1] This properly fucks us on the 2008->2012 upgrade cycle as our primary machines are 4x 8 core Xeons. So that's from 4 licensable CPUs to 32 licensable CPUs. We have 4 of those machines. Bastards!
- incision 14y ago>By the time you've forked out for the (now suddenly per core rather than CPU[1]!) enterprise license, all the 3rd party backup and restore tools, numerous windows licenses and had your arse audited for license compliance, you're down a lot of cash. SQL Server licensing is pure madness. I will never forget sitting across from a cadre of regional level Microsoft folks who had just finished explaining the intricacies of SQL virtualization licensing. The seemingly straightforward design we envisioned to cost perhaps $120K under any sort of reasonable, logical licensing structure attached to per socket price of SQL would actually run upwards of $1.3M to properly comply with the Microsoft licensing terms. It wasn't even the absurd total or the ridiculous terms that were so memorable. It was the fact the Microsoft folks seemed to be as shocked at our incredulity as we were at their terms. I got the impression they weren't used to providing more than "It's cheaper than Oracle" as justification to receive millions of dollars.
- duncan_bayne 14y agoAt least you got a number. A company I worked for back in New Zealand had a particularly odd architecture which didn't fit neatly into any of the SQL Server licensing structures at the time. We asked MS what sort of licences (& how many) we'd need to purchase and were still waiting for an answer months later when I left.
- noonespecial 14y agoI worked on one of those myself. The truly ass-backwards thing about it is that MS sales won't tell you what licenses you should buy in advance... but they'll sure as hell tell you what you should have bought during the audit.
- meaty 14y agoYes - we've just been royally raped by this. It's mainly down to virtualization and MSDN license coverage though. Screw them - we're moving some of our shit to Java/Linux (some of it is already there).
- kenjackson 14y agoBy the time you've forked out for the (now suddenly per core rather than CPU[1]!) enterprise license 1] This properly fucks us on the 2008->2012 upgrade cycle as our primary machines are 4x 8 core Xeons. So that's from 4 licensable CPUs to 32 licensable CPUs. We have 4 of those machines. Bastards! But the Core pricing is 1/4 the CPU pricing, so you're going from 4 licensable CPUs to the equivalent of 8 licensable CPUs.
- meaty 14y agoYes that's still twice the cost and we're in enterprise license territory and have 4 machines. That's only a quarter of a million pounds to half a million pounds change...
- xradionut 14y ago"Not only that, from a technical perspective, it's an absolute bastard to administer, particularly if something goes snap. It requires significantly more meat popsicles to run than a similar sized Postgres or MySQL cluster." Really? If you have some pro DBAs in charge you don't need mass quantities of warm bodies. (The problem is that 90% of the folks that claim to be experienced can't tell a clustered index from a cluster f__k.) You can automate 95% of the job and spend the rest of the time helping users do better. "To be honest, it's cheaper to solve all the problems that SQL Server solves at an architectural level these days. It's no longer something special (was it ever?)." Bullshit. I'm dealing with clients that insist on writing custom applications to do complex ETL instead of using SSIS or decent third party tool. Or wasting months writing code that reinvents SQL that's been around for decades.
- meaty 14y agoYes it's horrible to administer. We have high profile DBAs. One of them was on the SQL Server team a few years back. A huge amount of work is generated for them that is unnecessary on other platforms. SSIS is a pile of shit. It's impossible to test properly, suffers horrific deployment problems, is very unreliable and the only way to get transactional guarantees is using DTC which literally destroys your performance. A better solution is something like spring batch / spring integration back off a queue solution. Agree that NIH/DIY is bad here.
- MrFoof 14y ago>I'm dealing with clients that insist on writing custom applications to do complex ETL instead of using SSIS or decent third party tool. I have some beefs with SSIS (which I bring up to the SSIS team lead, Matt Masson, every time we meet) but it's not as bad as so many folks seem to make it out to be. However, what I always see is a never-ending shortage of clients that write their own ETL systems that have 10-20% of the functionality, and 10-20% of the performance (and 10-20x the bugs). Even my current client seems to be doing just this. Replacing homegrown ETL systems with SSIS, ODI or PowerCenter implementations is a great way to make money. I've seen ETL systems that folks were mighty proud of that had throughput (granted, to some very questionably modeled "data warehouses") measured in bytes/sec. Yes, bytes. We're talking 3 hours to get an 2MB file into the final fact table with some custom "framework" written in C# or Java that uses a web service for all message passing for servers within the same rack (and will always be in the same rack). Again, not necessarily the framework's fault either, just how poorly it's used, and how poor the data is modeled (in the above case, I was able to rewrite it with their tools and get the 3 hour job completing in ~50 seconds after a few days work and tearing through their framework's source code repo). The bugs you can find are fun too. My favorite was when the web service endpoints weren't reusing the same connection, so they were exhausting all the ephemeral TCP ports on the database server's TCP/IP stack -- when the job ran ~200 times faster, since the messaging was so chatty, the ETL framework was basically DoSing their SQL Server (for any service/application using a non-specific port). Honestly, if you enjoy making things 100 - 10000x faster, live in the database world. The market will present an infinite number of opportunities for you to do so with commodity DBMSes such as SQL Server, MySQL, Postgres and Oracle. Most of it is simply cleaning up bad data modeling decisions, cleaning up a complete misunderstanding of how their database engine works, and overly complicated systems doing very simple things. ----- I do agree that SQL Server licensing, especially when using Enterprise, can hurt. A lot. It's really set up for scale-up architectures (and Windows clustering could stand to be improved quite a bit), and if you dare deviate from that notion, you get hurt rather badly.
- matwood 14y agoIt requires significantly more meat popsicles to run than a similar sized Postgres or MySQL cluster. To be honest, it's cheaper to solve all the problems that SQL Server solves at an architectural level these days. It's no longer something special (was it ever?). The problem wasn't finding a replacement for MSSQL, but a replacement for all the tools that come bundled. SSIS, MSAS, SSRS are just a few of the products that make MSSQL a powerful tool. The ability to build and process cubes in MSAS that can be browsed as pivot tables using an Excel plugin made data analysis easily accessible to the analysts at my old company. I agree that licensing is outrageous and I tried hard to move us onto something else, but replacing the other products would have taken too much time.
- ma2rten 14y agoSounds like a startup idea to me.
- Shivetya 14y agoI think I will stick with DB2. One person, four machines, multiple logical partitions, and nearly a hundred terabytes of data. Oh, I have a backup person. Administration, monitoring, maintenance, and such, is all like, yeah its done. Really I read these comments here about SQL and DB on other platforms and I cannot fathom it, I simply never experience it. The AIX/Oracle gang has half a dozen people or more doing the same work as I for their platform and I don't see the benefit.
- purephase 14y agoI didn't mean to slight DB2, the 8+ versions have been pretty solid and require just about as much work as SQL Server. However, IBM licensing was significantly more expensive than our SQL Server licensing. As for FTEs, the same DBAs managed DB2 and SQL Server simultaneously whereas we needed an entire new cohort to deal with Oracle.